diff --git a/.classpath b/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..0cad5db2d090ca61021a6ac09e9c68b42b473433 --- /dev/null +++ b/.classpath @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" output="target/classes" path="src/main/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/.project b/.project new file mode 100644 index 0000000000000000000000000000000000000000..4a0218c1b0f94f618d2443dbf8bdbd081160bcdd --- /dev/null +++ b/.project @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>saref-server</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> + </natures> +</projectDescription> diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope new file mode 100644 index 0000000000000000000000000000000000000000..f179e11ea864d712610c6988f409266271afe366 --- /dev/null +++ b/.settings/.jsdtscope @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src/main/webapp"/> + <classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="target/m2e-wtp/web-resources"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> + <attributes> + <attribute name="hide" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> + <classpathentry kind="output" path=""/> +</classpath> diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..839d647eef851c560a9854ff81d9caa1df594ced --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding/<project>=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..6e80039d3b822e65e46fbf18906ef652814e9505 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs b/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs new file mode 100644 index 0000000000000000000000000000000000000000..7c8126d9d46f4dfb87dcf9a6a07a42f59dfa24e1 --- /dev/null +++ b/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs @@ -0,0 +1,5 @@ +XDOCLETBUILDERACTIVE=true +XDOCLETHOME= +XDOCLETUSEGLOBAL=true +XDOCLETVERSION=1.2.1 +eclipse.preferences.version=1 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..f897a7f1cb2389f85fe6381425d29f0a9866fb65 --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000000000000000000000000000000000000..f8ea5763e87e129e87191c240d172487ffa6a0c5 --- /dev/null +++ b/.settings/org.eclipse.wst.common.component @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> + <wb-module deploy-name="ROOT"> + <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/> + <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> + <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> + <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/> + <property name="context-root" value="ROOT"/> + <property name="java-output-path" value="/saref-server/target/classes"/> + </wb-module> +</project-modules> diff --git a/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml new file mode 100644 index 0000000000000000000000000000000000000000..cc8138509bbd6aed22aed356703f93e6927e3c92 --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml @@ -0,0 +1,7 @@ +<root> + <facet id="jst.jaxrs"> + <node name="libprov"> + <attribute name="provider-id" value="jaxrs-no-op-library-provider"/> + </node> + </facet> +</root> diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000000000000000000000000000000000000..fac17999a8fb94377741b18396c3b231e40aa656 --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <fixed facet="wst.jsdt.web"/> + <installed facet="java" version="1.8"/> + <installed facet="jst.web" version="3.0"/> + <installed facet="jst.jaxrs" version="2.0"/> + <installed facet="wst.jsdt.web" version="1.0"/> +</faceted-project> diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000000000000000000000000000000000000..3bd5d0a4803967bc0bf72a7dd66d7e292ed2e586 --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000000000000000000000000000000000000..05bd71b6ec2c1982d1e8a5653073281994564ae8 --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000000000000000000000000000000000000..04cad8cb752a9761c4e5167d0301d3a27674430f --- /dev/null +++ b/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/pom.xml b/pom.xml index 4f54e86674c3325a59ca3efc5c0297ae67ab0cf4..30d540c32b371bec78f79b6ae21a2f5d079ac308 100644 --- a/pom.xml +++ b/pom.xml @@ -77,8 +77,18 @@ <artifactId>jetty-servlets</artifactId> <version>9.4.14.v20181114</version> </dependency> - - + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-text</artifactId> + <version>${jena.version}</version> + </dependency> + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-arq</artifactId> + <version>${jena.version}</version> + </dependency> + </dependencies> <build> diff --git a/src/main/java/org/etsi/saref/server/resources/ListExercises.java b/src/main/java/org/etsi/saref/server/resources/ListExercises.java index 46e0f1b591ecb15267df775123106c7a192884d8..7fedfa144189ee1edbc48dcacdb60e7406645742 100644 --- a/src/main/java/org/etsi/saref/server/resources/ListExercises.java +++ b/src/main/java/org/etsi/saref/server/resources/ListExercises.java @@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType; import org.glassfish.jersey.server.mvc.Template; -@Path("/view") +@Path("/{p: (index\\.html)?}") public class ListExercises { @GET diff --git a/src/main/java/org/etsi/saref/server/resources/Search.java b/src/main/java/org/etsi/saref/server/resources/Search.java new file mode 100644 index 0000000000000000000000000000000000000000..eaf379632dfb0071d24ed0fb180afe538501478d --- /dev/null +++ b/src/main/java/org/etsi/saref/server/resources/Search.java @@ -0,0 +1,77 @@ +/** + * + */ +package org.etsi.saref.server.resources; + +import java.io.IOException; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; + +import org.glassfish.jersey.server.mvc.Template; + +import java.awt.Desktop; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.net.URI; + +import com.github.mustachejava.DefaultMustacheFactory; +import com.github.mustachejava.Mustache; +import com.github.mustachejava.MustacheFactory; + +/** + * @author Omar Qawasmeh + * + * + */ + +@Path("/search") +public class Search { + + @GET + @Produces(MediaType.TEXT_HTML) + @Template(name = "/index") + public String doSearch(@QueryParam("q") String keyword) throws IOException { + // String results; + + MustacheFactory mf = new DefaultMustacheFactory(); + + Mustache m = mf.compile("templates/index.mustache"); + + SearchKeyWord queryResults = new SearchKeyWord(); + // "has meter reading type" + queryResults.setSearchResultsLabels(keyword); + + // results=queryResults.getSearchResultsLabels(); + + System.out.println(queryResults.getSearchResultsLabels()); + + StringWriter writer = new StringWriter(); + + System.out.println("Before:" + writer.toString()); + + m.execute(writer, queryResults).flush(); + + writer.close(); + + System.out.println("After:" + writer); + + String html = writer.toString(); + FileWriter fw = new FileWriter("src/main/resources/saref-portal-generator/public/keywordSearchPage.html"); + StringWriter sw = new StringWriter(); + sw.write(html); + fw.write(sw.toString()); + + fw.close(); + File htmlFile = new File("src/main/resources/saref-portal-generator/public/keywordSearchPage.html"); + Desktop.getDesktop().browse(htmlFile.toURI()); + + return writer.toString(); + } + +} diff --git a/src/main/java/org/etsi/saref/server/resources/SearchKeyWord.java b/src/main/java/org/etsi/saref/server/resources/SearchKeyWord.java new file mode 100644 index 0000000000000000000000000000000000000000..bacb98f406388f311595ff58e11e49f8ff30f93b --- /dev/null +++ b/src/main/java/org/etsi/saref/server/resources/SearchKeyWord.java @@ -0,0 +1,136 @@ +/** + * + */ +package org.etsi.saref.server.resources; + +import org.apache.jena.query.Dataset; +import org.apache.jena.query.DatasetFactory; +import org.apache.jena.query.Query; +import org.apache.jena.query.QueryExecution; +import org.apache.jena.query.QueryExecutionFactory; +import org.apache.jena.query.QueryFactory; +import org.apache.jena.query.ReadWrite; +import org.apache.jena.query.ResultSet; +import org.apache.jena.query.ResultSetFormatter; +import org.apache.jena.query.text.EntityDefinition; +import org.apache.jena.query.text.TextDatasetFactory; +import org.apache.jena.query.text.TextIndexConfig; +import org.apache.jena.rdf.model.Model; +import org.apache.jena.riot.RDFDataMgr; +import org.apache.jena.sparql.util.QueryExecUtils; +import org.apache.jena.vocabulary.RDFS; +import org.apache.lucene.store.Directory; +import org.apache.lucene.store.RAMDirectory; + + +/** + * @author Omar Qawasmeh + */ + +public class SearchKeyWord { + + + private static final String DS = "http://localhost:3030/test-sarefTtl/data"; + private String searchResultsLabels; + private String title; + private Dataset ds; + + public SearchKeyWord() { + ds = createCode(); + loadData(ds, DS); + + } + + /** + * @return the searchResultsLabels + */ + public String getSearchResultsLabels() { + return searchResultsLabels; + } + + + public void setSearchResultsLabels(String searchResultsLabels) { + this.searchResultsLabels = queryDataLabels(ds, searchResultsLabels); + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = queryDataLabels(ds, "has meter reading type"); + } + // public static void main(String args[]) { + + // queryDataComment(ds, "some measurements that are characterized by a + // certain value "); + // } + + public static Dataset createCode() { + + Dataset ds1 = DatasetFactory.create(); + + // EntityDefinition entDef = new EntityDefinition("uri", "text", + // RDFS.label) ; + EntityDefinition entDef = new EntityDefinition("uri", "text"); + entDef.setPrimaryPredicate(RDFS.label.asNode()); + entDef.setPrimaryPredicate(RDFS.comment.asNode()); + + Directory dir = new RAMDirectory(); + + Dataset ds = TextDatasetFactory.createLucene(ds1, dir, new TextIndexConfig(entDef)); + + return ds; + } + + public static void loadData(Dataset dataset, String TtlFileLocation) { + + // dataset.begin(ReadWrite.WRITE); + try { + Model m = dataset.getDefaultModel(); + RDFDataMgr.read(m, TtlFileLocation); + dataset.commit(); + } finally { + dataset.end(); + } + + } + + public static String queryDataLabels(Dataset dataset, String kw) { + String queryResults; + String queryString = "PREFIX : <http://example/>" + "PREFIX text: <http://jena.apache.org/text#>" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>" + "SELECT * " + " { " + + "?s text:query (rdfs:label '" + kw + "') ;" + " rdfs:label ?label" + " } limit 10"; + + dataset.begin(ReadWrite.READ); + try { + Query q = QueryFactory.create(queryString); + QueryExecution qexec = QueryExecutionFactory.create(q, dataset); + ResultSet qresults = qexec.execSelect(); + queryResults = ResultSetFormatter.asText(qresults); + + // QueryExecUtils.executeQuery(q, qexec); + // searchResultsLabels=QueryExecUtils.executeQuery(q, qexec)+""; + } finally { + dataset.end(); + } + return queryResults; + } + + public static void queryDataComment(Dataset dataset, String kw) { + + String queryString = "PREFIX : <http://example/>" + "PREFIX text: <http://jena.apache.org/text#>" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>" + "SELECT * " + " { " + + "?s text:query (rdfs:comment '" + kw + "') ;" + " rdfs:comment ?comment" + " } limit 10"; + + dataset.begin(ReadWrite.READ); + try { + Query q = QueryFactory.create(queryString); + QueryExecution qexec = QueryExecutionFactory.create(q, dataset); + QueryExecUtils.executeQuery(q, qexec); + } finally { + dataset.end(); + } + + } +} diff --git a/src/main/resources/saref-portal-generator/LICENSE b/src/main/resources/saref-portal-generator/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..4436d6da4c55a84b9f62a8002984f854ba472fa6 --- /dev/null +++ b/src/main/resources/saref-portal-generator/LICENSE @@ -0,0 +1,23 @@ +Copyright 2019 ETSI + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/.htaccess b/src/main/resources/saref-portal-generator/public/.htaccess new file mode 100644 index 0000000000000000000000000000000000000000..dc4663963199a3bc8205c7810b415fdbafd3f91c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/.htaccess @@ -0,0 +1,104 @@ +Options -MultiViews + +RewriteEngine on +DirectorySlash Off + +# internal redirects for core + +# redirects core to core/v3.1.1/core +RewriteRule ^core$ /core/v3.1.1/core + +# redirects core/example to core/v3.1.1/example +# redirects core/example/ to core/v3.1.1/example +RewriteRule ^core/example/?$ /core/v3.1.1/example + +# redirects core/v1.1.1 to core/v1.1.1/core +RewriteRule ^core/v([0-9]+)\.([0-9]+)\.([0-9]+)/?$ /core/v$1.$2.$3/core + +# redirects core/v1.1.1.ttl to core/v1.1.1/core.ttl +RewriteRule ^core/v([0-9]+)\.([0-9]+)\.([0-9]+)\.([^\./]+)$ /core/v$1.$2.$3/core.$4 [R=302,NE] + +# redirects core.ttl to core/v3.1.1/core.ttl +RewriteRule ^core\.([^\./]*)$ /core/v3.1.1/core.$1 [R=302,NE] + + +# internal redirects for sarefabcd + +# redirects saref4ener to saref4ener/latest/saref4ener +RewriteRule ^(saref[^\./]*)$ /$1/latest/$1 + +# redirects saref4ener/latest to saref4ener/latest/saref4ener +# redirects saref4ener/latest/ to saref4ener/latest/saref4ener +RewriteRule ^(saref[^\./]*)/latest/?$ /$1/latest/$1 + +# redirects saref4ener/example to saref4ener/latest/example +# redirects saref4ener/example/ to saref4ener/latest/example +RewriteRule ^(saref[^\./]*)/example/?$ /$1/latest/example + +# redirects saref4ener/v1.1.1 to saref4ener/v1.1.1/saref4ener +# redirects saref4ener/v1.1.1/ to saref4ener/v1.1.1/saref4ener +RewriteRule ^(saref[^\./]*)/v([0-9]+)\.([0-9]+)\.([0-9]+)/?$ /$1/v$2.$3.$4/$1 + +# redirects saref4ener/latest.ttl to saref4ener/latest/saref4ener.ttl +RewriteRule ^(saref[^\./]*)/latest\.([^\./]+)$ /$1/latest/$1.$2 [R=302,NE] + +# redirects saref4ener/v1.1.1.ttl to saref4ener/v1.1.1/saref4ener.ttl +RewriteRule ^(saref[^\./]*)/v([0-9]+)\.([0-9]+)\.([0-9]+)\.([^\./]+)$ /$1/v$2.$3.$4/$1.$5 [R=302,NE] + +# redirects saref4ener.ttl to saref4ener/latest/saref4ener.ttl +RewriteRule ^(saref[^\./]*)\.([^\./]*)$ /$1/latest/$1.$2 [R=302,NE] + + +# Main + +# internal redirects for core + +# redirects core/bbb/core to core/bbb/core.html +RewriteCond %{HTTP_ACCEPT} !(application/rdf\+xml|text/turtle|text/n3) +RewriteRule ^core/([^/]+)/core$ /core/$1/core.html [R=302,NE] + +# redirects core/bbb/core to core/bbb/core.rdf +RewriteCond %{HTTP_ACCEPT} application/rdf\+xml +RewriteRule ^core/([^/]+)/core$ /core/$1/core.rdf [R=302,NE] + +# redirects core/bbb/core to core/bbb/core.ttl +RewriteCond %{HTTP_ACCEPT} text/turtle +RewriteRule ^core/([^/]+)/core$ /core/$1/core.ttl [R=302,NE] + +# redirects core/bbb/core to core/bbb/core.n3 +RewriteCond %{HTTP_ACCEPT} text/n3 +RewriteRule ^core/([^/]+)/core$ /core/$1/core.n3 [R=302,NE] + + + +# internal redirects for sarefabcd + +# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.html +RewriteCond %{HTTP_ACCEPT} !(application/rdf\+xml|text/turtle|text/n3) +RewriteRule ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$ /$1/$2/$3.html [R=302,NE] + +# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.rdf +RewriteCond %{HTTP_ACCEPT} application/rdf\+xml +RewriteRule ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$ /$1/$2/$3.rdf [R=302,NE] + +# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.ttl +RewriteCond %{HTTP_ACCEPT} text/turtle +RewriteRule ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$ /$1/$2/$3.ttl [R=302,NE] + +# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.n3 +RewriteCond %{HTTP_ACCEPT} text/n3 +RewriteRule ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$ /$1/$2/$3.n3 [R=302,NE] + + +# examples + +# redirects core/bbb/example to core/bbb/example.ttl +RewriteRule ^core/([^/]+)/example$ /core/$1/example.ttl [R=302,NE] + + +# redirects sarefaaa/bbb/example to sarefaaa/bbb/example.ttl +RewriteRule ^(saref[^\./]*)/([^/]+)/example$ /$1/$2/example.ttl [R=302,NE] + + + + diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/406.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/406.html new file mode 100644 index 0000000000000000000000000000000000000000..2a3157a358ba8e125a5ca5c66e77169ea495d9fa --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/406.html @@ -0,0 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<html><head> +<title>406 Not Acceptable</title> +</head> +<body> +<h1>Not Acceptable</h1> +<p>An appropriate representation of the requested resource could not be found on this server.</p> + Available variants:<ul><li><a href="index-en.html">html</a></li><li><a href="ontology.json">JSON-LD</a></li><li><a href="ontology.xml">RDF/XML</a></li><li><a href="ontology.nt">N-Triples</a></li><li><a href="ontology.ttl">TTL</a></li></ul> + +</body></html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.html new file mode 100644 index 0000000000000000000000000000000000000000..38963818db0ea30348456cbab0c2f613ce401387 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.html @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> + <link rel="stylesheet" href="resources/primer.css" media="screen" /> <link rel="stylesheet" href="resources/rec.css" media="screen" /> <link rel="stylesheet" href="resources/extra.css" media="screen" /> <link rel="stylesheet" href="resources/owl.css" media="screen" /> <title>SAREF: the Smart Applications REFerence ontology</title> + + +<!-- SCHEMA.ORG METADATA --> +<script type="application/ld+json">{"@context":"http://schema.org","@type":"TechArticle","url":"https://saref.etsi.org/core/","image":"http://vowl.visualdataweb.org/webvowl/#iri=https://saref.etsi.org/core/","name":"SAREF: the Smart Applications REFerence ontology", "headline":"The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market.", "datePublished":"Fri Feb 21 13:53:59 UTC 2020", "version":"3.1.1", "license":"https://forge.etsi.org/etsi-software-license", "contributor":[{"@type":"Person","name":"http://maxime-lefrancois.info/me#","url":"http://maxime-lefrancois.info/me#"},{"@type":"Person","name":"http://www.garcia-castro.com/foaf.rdf#me","url":"http://www.garcia-castro.com/foaf.rdf#me"},{"@type":"Person","name":"https://w3id.org/people/mpoveda/","url":"https://w3id.org/people/mpoveda/"},{"@type":"Person","name":"https://www.linkedin.com/in/lauradaniele","url":"https://www.linkedin.com/in/lauradaniele"}]}</script> + +<script src="resources/jquery.js"></script> +<script src="resources/marked.min.js"></script> + <script> +function loadHash() { + jQuery(".markdown").each(function(el){jQuery(this).after(marked(jQuery(this).text())).remove()}); + var hash = location.hash; + if($(hash).offset()!=null){ + $('html, body').animate({scrollTop: $(hash).offset().top}, 0); +} + loadTOC(); +} +function loadTOC(){ + //process toc dynamically + var t='<h2>Table of contents</h2><ul>';i = 1;j=0; + jQuery(".list").each(function(){ + if(jQuery(this).is('h2')){ + if(j>0){ + t+='</ul>'; + j=0; + } + t+= '<li>'+i+'. <a href=#'+ jQuery(this).attr('id')+'>'+ jQuery(this).ignore("span").text()+'</a></li>'; + i++; + } + if(jQuery(this).is('h3')){ + if(j==0){ + t+='<ul>'; + } + j++; + t+= '<li>'+(i-1)+'.'+j+'. '+'<a href=#'+ jQuery(this).attr('id')+'>'+ jQuery(this).ignore("span").text()+'</a></li>'; + } + }); + t+='</ul>'; + $("#toc").html(t); +} + $.fn.ignore = function(sel){ + return this.clone().find(sel||">*").remove().end(); + }; $(function(){ + $("#abstract").load("sections/abstract-en.html"); + $("#introduction").load("sections/introduction-en.html"); + $("#overview").load("sections/overview-en.html"); + $("#description").load("sections/description-en.html"); + $("#references").load("sections/references-en.html"); + $("#crossref").load("sections/crossref-en.html", null, loadHash); + }); + </script> + </head> + +<body> +<div class="container"> +<div class="head"> +<div style="float:right">language <a href="index-en.html"><b>en</b></a> </div> +<h1>SAREF: the Smart Applications REFerence ontology</h1> + + +<dl> +<dt>Revision:</dt> +<dd>3.1.1</dd> +<dt>Contributors:</dt> +<dd><a href="http://maxime-lefrancois.info/me#">http://maxime-lefrancois.info/me#</a></dd><dd><a href="http://www.garcia-castro.com/foaf.rdf#me">http://www.garcia-castro.com/foaf.rdf#me</a></dd><dd><a href="https://w3id.org/people/mpoveda/">https://w3id.org/people/mpoveda/</a></dd><dd><a href="https://www.linkedin.com/in/lauradaniele">https://www.linkedin.com/in/lauradaniele</a></dd> + +<dt>Publisher:</dt> +<dd><a href="https://www.etsi.org/">https://www.etsi.org/</a></dd> +<dt>Download serialization:</dt><dd><span><a href="core.json" target="_blank"><img src="https://img.shields.io/badge/Format-JSON_LD-blue.svg" alt="JSON-LD" /></a> </span><span><a href="core.xml" target="_blank"><img src="https://img.shields.io/badge/Format-RDF/XML-blue.svg" alt="RDF/XML" /></a> </span><span><a href="core.nt" target="_blank"><img src="https://img.shields.io/badge/Format-N_Triples-blue.svg" alt="N-Triples" /></a> </span><span><a href="core.ttl" target="_blank"><img src="https://img.shields.io/badge/Format-TTL-blue.svg" alt="TTL" /></a> </span></dd><dt>License: </dt><dd><a href="https://forge.etsi.org/etsi-software-license" target="_blank"><img src="https://img.shields.io/badge/License-https://forge.etsi.org/etsi_software_license-blue.svg" alt="https://forge.etsi.org/etsi-software-license" /></a> +</dd><dt>Cite as:</dt> +<dd>SAREF: the Smart Applications REFerence ontology.Revision: 3.1.1.</dd> +</dl> + +<a href="provenance/provenance-en.html" target="_blank">Provenance of this page</a><hr/> +</div> +<div class="status"> +<div> +<span>Ontology Specification Draft</span> +</div> +</div> <div id="abstract"></div> +<div id="toc"></div> <div id="introduction"></div> + <div id="overview"></div> + <div id="description"></div> + <div id="crossref"></div> + <div id="references"></div> +<html> +<div id="acknowledgements"> +<h2 id="ack" class="list">Acknowledgements <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> +<p> +The authors would like to thank <a href="http://www.essepuntato.it/">Silvio Peroni</a> for developing <a href="http://www.essepuntato.it/lode">LODE</a>, a Live OWL Documentation Environment, which is used for representing the Cross Referencing Section of this document and <a href="https://w3id.org/people/dgarijo">Daniel Garijo</a> for developing <a href="https://github.com/dgarijo/Widoco">Widoco</a>, the program used to create the template used in this documentation.</p> +</div> + +</html> + +</div> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.json b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.json new file mode 100644 index 0000000000000000000000000000000000000000..a99a6f6025a746c1e97506d04ba97638c1d2181c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.json @@ -0,0 +1,2865 @@ +[ { + "@id" : "_:genid1", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/ActuatingFunction" + } ] +}, { + "@id" : "_:genid10", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isUsedFor" + } ] +}, { + "@id" : "_:genid11", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/makesMeasurement" + } ] +}, { + "@id" : "_:genid12", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/measuresProperty" + } ] +}, { + "@id" : "_:genid13", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Service" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/offers" + } ] +}, { + "@id" : "_:genid14", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Task" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/accomplishes" + } ] +}, { + "@id" : "_:genid15", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ] +}, { + "@id" : "_:genid16", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#maxCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasManufacturer" + } ] +}, { + "@id" : "_:genid17", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#maxCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasModel" + } ] +}, { + "@id" : "_:genid18", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseFunction" + } ] +}, { + "@id" : "_:genid19", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasState" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseState" + } ] +}, { + "@id" : "_:genid2", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseState" + } ] +}, { + "@id" : "_:genid20", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasThresholdMeasurement" + } ] +}, { + "@id" : "_:genid21", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasMeasurement" + } ] +}, { + "@id" : "_:genid22", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasProperty" + } ] +}, { + "@id" : "_:genid23", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Command" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasCommand" + } ] +}, { + "@id" : "_:genid24", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MeteringFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid25", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MeteringFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid26", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MeteringFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid27", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/SensingFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid28", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/controlsProperty" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Light" + } ] +}, { + "@id" : "_:genid29", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffFunction" + } ] +}, { + "@id" : "_:genid3", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid30", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasState" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffState" + } ] +}, { + "@id" : "_:genid31", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/offers" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/SwitchOnService" + } ] +}, { + "@id" : "_:genid32", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isMeasuredIn" + } ] +}, { + "@id" : "_:genid33", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isMeasurementOf" + } ] +}, { + "@id" : "_:genid34", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/relatesToProperty" + } ] +}, { + "@id" : "_:genid35", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isMeasuredIn" + } ], + "http://www.w3.org/2002/07/owl#qualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ] +}, { + "@id" : "_:genid36", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/relatesToProperty" + } ], + "http://www.w3.org/2002/07/owl#qualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ] +}, { + "@id" : "_:genid37", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "http://www.w3.org/2001/XMLSchema#dateTime" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasTimestamp" + } ] +}, { + "@id" : "_:genid38", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#cardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasValue" + } ] +}, { + "@id" : "_:genid39", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MeteringFunction" + } ] +}, { + "@id" : "_:genid4", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ] +}, { + "@id" : "_:genid40", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasMeterReading" + } ] +}, { + "@id" : "_:genid41", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "_:genid42" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasMeterReadingType" + } ] +}, { + "@id" : "_:genid42", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2002/07/owl#unionOf" : [ { + "@list" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + }, { + "@id" : "https://saref.etsi.org/core/Property" + } ] + } ] +}, { + "@id" : "_:genid45", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/EventFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid46", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffState" + } ] +}, { + "@id" : "_:genid47", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid48", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffState" + } ] +}, { + "@id" : "_:genid49", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid5", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid50", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseState" + } ] +}, { + "@id" : "_:genid51", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid52", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Profile" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/consistsOf" + } ] +}, { + "@id" : "_:genid53", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Price" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasPrice" + } ] +}, { + "@id" : "_:genid54", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Time" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasTime" + } ] +}, { + "@id" : "_:genid55", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "_:genid56" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isAbout" + } ] +}, { + "@id" : "_:genid56", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2002/07/owl#unionOf" : [ { + "@list" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + }, { + "@id" : "https://saref.etsi.org/core/Property" + } ] + } ] +}, { + "@id" : "_:genid59", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isControlledByDevice" + } ] +}, { + "@id" : "_:genid6", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/consistsOf" + } ] +}, { + "@id" : "_:genid60", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isMeasuredByDevice" + } ] +}, { + "@id" : "_:genid61", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isPropertyOf" + } ] +}, { + "@id" : "_:genid62", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/relatesToMeasurement" + } ] +}, { + "@id" : "_:genid63", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasSensingRange" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ] +}, { + "@id" : "_:genid64", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasSensorType" + } ] +}, { + "@id" : "_:genid65", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/SensingFunction" + } ] +}, { + "@id" : "_:genid66", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isOfferedBy" + } ] +}, { + "@id" : "_:genid67", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#minQualifiedCardinality" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#nonNegativeInteger", + "@value" : "1" + } ], + "http://www.w3.org/2002/07/owl#onClass" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/represents" + } ] +}, { + "@id" : "_:genid68", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MultiLevelState" + } ] +}, { + "@id" : "_:genid69", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/LevelControlFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid7", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/controlsProperty" + } ] +}, { + "@id" : "_:genid70", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/EventFunction" + } ] +}, { + "@id" : "_:genid71", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/SensingFunction" + } ] +}, { + "@id" : "_:genid72", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/measuresProperty" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Smoke" + } ] +}, { + "@id" : "_:genid73", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/StartStopState" + } ] +}, { + "@id" : "_:genid74", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/StartStopFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid75", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MultiLevelState" + } ] +}, { + "@id" : "_:genid76", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/LevelControlFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid77", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/MultiLevelState" + } ] +}, { + "@id" : "_:genid78", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/LevelControlFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid79", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/actsUpon" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/StartStopState" + } ] +}, { + "@id" : "_:genid8", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Profile" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasProfile" + } ] +}, { + "@id" : "_:genid80", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/StartStopFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid81", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isOfferedBy" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/LightSwitch" + } ] +}, { + "@id" : "_:genid82", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/represents" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffFunction" + } ] +}, { + "@id" : "_:genid83", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasFunction" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/SensingFunction" + } ] +}, { + "@id" : "_:genid84", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/measuresProperty" + } ], + "http://www.w3.org/2002/07/owl#someValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/Temperature" + } ] +}, { + "@id" : "_:genid85", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/OnOffFunction" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "_:genid9", + "@type" : [ "http://www.w3.org/2002/07/owl#Restriction" ], + "http://www.w3.org/2002/07/owl#allValuesFrom" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ], + "http://www.w3.org/2002/07/owl#onProperty" : [ { + "@id" : "https://saref.etsi.org/core/hasState" + } ] +}, { + "@id" : "http://purl.org/dc/terms/contributor", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/dc/terms/description", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/dc/terms/issued", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/dc/terms/license", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/dc/terms/publisher", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/dc/terms/title", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/vocab/vann/preferredNamespacePrefix", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "http://purl.org/vocab/vann/preferredNamespaceUri", + "@type" : [ "http://www.w3.org/2002/07/owl#AnnotationProperty" ] +}, { + "@id" : "https://saref.etsi.org/core/", + "@type" : [ "http://www.w3.org/2002/07/owl#Ontology" ], + "http://purl.org/dc/terms/contributor" : [ { + "@id" : "http://maxime-lefrancois.info/me#" + }, { + "@id" : "http://www.garcia-castro.com/foaf.rdf#me" + }, { + "@id" : "https://w3id.org/people/mpoveda/" + }, { + "@id" : "https://www.linkedin.com/in/lauradaniele" + } ], + "http://purl.org/dc/terms/description" : [ { + "@language" : "en", + "@value" : "The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market." + } ], + "http://purl.org/dc/terms/issued" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#date", + "@value" : "2020-02-11" + } ], + "http://purl.org/dc/terms/license" : [ { + "@id" : "https://forge.etsi.org/etsi-software-license" + } ], + "http://purl.org/dc/terms/publisher" : [ { + "@id" : "https://www.etsi.org/" + } ], + "http://purl.org/dc/terms/title" : [ { + "@language" : "en", + "@value" : "SAREF: the Smart Applications REFerence ontology" + } ], + "http://purl.org/vocab/vann/preferredNamespacePrefix" : [ { + "@value" : "saref" + } ], + "http://purl.org/vocab/vann/preferredNamespaceUri" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#anyURI", + "@value" : "https://saref.etsi.org/core/" + } ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@value" : "Information about changes compared to version 1.1.1:\n - The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings, including the reuse of the W3C� WGS84 geo positioning vocabulary.\n - The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class.\n - The information specific for energy efficiency has been moved to the SAREF4ENER extension. For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension. \n - The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy).\n - The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension, in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property).\n - Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed.\n - The saref:UnitOfMeasure subclasses use individuals from the OM ontology for unit of measures, but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used.\n - The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes. \n - The subclasses of saref:Task have been transormed in individuals.\n - The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class." + }, { + "@value" : "Information about changes compared to version 2.1.1: \n - Added the saref:FeatureOfInterest class and the properties used to relate it to saref:Measurement (saref:hasMeasurement and saref:isMeasurementOf) and to saref:Property (saref:hasProperty and saref:isPropertyOf).\n - Added the saref:measurementMadeBy property as inverse of saref:makesMeasurement.\n - The saref:relatesToProperty and saref:relatesToMeasurement properties are now inverse of each other.\n - The range of saref:hasValue, which was defined as xsd:float, has been removed to support other datatypes for measurements.\n - The range of datatype properties, which was defined as xsd:string, has been removed in order to support strings with language tags (rdf:langString). This affects saref:hasDescription, saref:hasManufacturer, saref:hasModel and saref:hasName, which now have implicitly a range of rdfs:Literal.\n - The saref:hasName property has been removed and the use of rdfs:label is recommended. \n - The saref:hasDescription property has been deprecated and the use of rdfs:comment is recommended. \n - Too restrictive restrictions have been removed and in some cases the ontology documentation has been updated to reflect this: a saref:Command having at most one saref:hasDescription; a saref:Task being accomplished by at least one saref:Device; a saref:Device having a typical consumption of only energy or power; a saref:Commodity being measured in units of measure; restrictions on the values of saref:accomplishes that only covered specific use cases; universal restrictions on the saref:actsUpon property have been changed to existential ones; restrictions on the commands that a saref:Function may have, since there could be others not included in the defined enumerations; restrictive documentation of saref:EventFunction and saref:SmokeSensor.\n - Bugs have been fixed: some devices (saref:DoorSwitch, saref:EnergyMeter, saref:LigthSwitch, saref:SmokeSensor, and saref:TemperatureSensor) were defined as subclass of a device and at the same time as consisting of such device; a saref:LightSwitch controls light and does not measure light, since it is an actuator; incorrect documentation of saref:OnState and saref:OffState.\n - The saref:BuildingRelated, saref:EnergyRelated and saref:FunctionRelated classes have been removed, since the different extensions already classify the device types.\n - The instances of the subclasses of saref:Command have been removed, since they represent examples.\n - The instances of saref:UnitOfMeasure have been moved to examples.\n - The classes related to the SAREF4ENER extension have been removed: saref:Generator, saref:Storage, saref:Load and saref:EnergyMeter.\n - Some instances of saref:Device have been moved to examples: saref:WashingMachine, saref:LightingDevice, saref:MicroRenewable, saref:Multimedia, and saref:Network.\n - Added domain and range axioms wherever the definition of a property unambiguously identifies the domain or the range of the property.\n - The OWL Time ontology is not imported anymore.\n - The documentation of some ontology terms has been updated for clarification.\n - Language tags have been added to all labels and comments.\n" + } ], + "http://www.w3.org/2002/07/owl#versionInfo" : [ { + "@value" : "3.1.1" + } ] +}, { + "@id" : "https://saref.etsi.org/core/ActuatingFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Actuating function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Actuator", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A device responsible for moving or controlling a mechanism or system by performing an actuating function" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Actuator" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Device" + }, { + "@id" : "_:genid1" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Appliance", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Appliance" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Cleaning", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Cleaning" + } ] +}, { + "@id" : "https://saref.etsi.org/core/CloseCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Close command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid2" + }, { + "@id" : "_:genid3" + } ], + "http://www.w3.org/2002/07/owl#disjointWith" : [ { + "@id" : "https://saref.etsi.org/core/OpenCommand" + } ] +}, { + "@id" : "https://saref.etsi.org/core/CloseState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state of a device that is CLOSE" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Close state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseState" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Coal", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of commodity" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Coal" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Comfort", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Comfort" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Command", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid4" + }, { + "@id" : "_:genid5" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Commodity", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. " + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Commodity" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Currency", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The class of units of measure for price" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Currency" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Device", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid6" + }, { + "@id" : "_:genid7" + }, { + "@id" : "_:genid8" + }, { + "@id" : "_:genid9" + }, { + "@id" : "_:genid10" + }, { + "@id" : "_:genid11" + }, { + "@id" : "_:genid12" + }, { + "@id" : "_:genid13" + }, { + "@id" : "_:genid14" + }, { + "@id" : "_:genid15" + }, { + "@id" : "_:genid16" + }, { + "@id" : "_:genid17" + } ] +}, { + "@id" : "https://saref.etsi.org/core/DoorSwitch", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A switch that performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState. A saref:DoorSwitch is typically used to accomplish saref:Safety." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Door switch" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Switch" + }, { + "@id" : "_:genid18" + }, { + "@id" : "_:genid19" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Drying", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Drying" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Electricity", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of commodity" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Electricity" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Energy", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. " + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Energy" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/EnergyEfficiency", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "EnergyEfficiency" + } ] +}, { + "@id" : "https://saref.etsi.org/core/EnergyUnit", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The unit of measure for energy" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Energy unit" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Entertainment", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Entertainment" + } ] +}, { + "@id" : "https://saref.etsi.org/core/EventFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Event function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Function" + }, { + "@id" : "_:genid20" + } ] +}, { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A feature of interest represents any real world entity from which a property is measured." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Feature of interest" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid21" + }, { + "@id" : "_:genid22" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Function", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The functionality necessary to accomplish the task for which a device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. " + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid23" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Gas", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of commodity" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Gas" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + } ] +}, { + "@id" : "https://saref.etsi.org/core/GetCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Get command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + } ] +}, { + "@id" : "https://saref.etsi.org/core/GetCurrentMeterValueCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of get command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Get current meter value command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/GetCommand" + }, { + "@id" : "_:genid24" + } ] +}, { + "@id" : "https://saref.etsi.org/core/GetMeterDataCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of get command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Get meter data command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/GetCommand" + }, { + "@id" : "_:genid25" + } ] +}, { + "@id" : "https://saref.etsi.org/core/GetMeterHistoryCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of get command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Get meter history command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/GetCommand" + }, { + "@id" : "_:genid26" + } ] +}, { + "@id" : "https://saref.etsi.org/core/GetSensingDataCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of get command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Get sensing data command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/GetCommand" + }, { + "@id" : "_:genid27" + } ] +}, { + "@id" : "https://saref.etsi.org/core/HVAC", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort. A saref:HVAC is typically used to accomplish saref:Comfort." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "HVAC" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Humidity", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Humidity" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/IlluminanceUnit", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The unit of measure for light" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Illuminance unit" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/LevelControlFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "An actuating function that allows to do level adjustments of a property in a certain range (e.g., 0%-100%), such as dimming a light in a room or setting the speed of an electric motor. " + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Level control function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/ActuatingFunction" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Light", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Light" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/LightSwitch", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A switch that performs the saref:OnOffFunction, controls the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service. A saref:LightSwitch is typically used to accomplish saref:Lighting." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Light switch" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Switch" + }, { + "@id" : "_:genid28" + }, { + "@id" : "_:genid29" + }, { + "@id" : "_:genid30" + }, { + "@id" : "_:genid31" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Lighting", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Lighting" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Measurement", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid32" + }, { + "@id" : "_:genid33" + }, { + "@id" : "_:genid34" + }, { + "@id" : "_:genid35" + }, { + "@id" : "_:genid36" + }, { + "@id" : "_:genid37" + }, { + "@id" : "_:genid38" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Meter", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Meter" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Device" + }, { + "@id" : "_:genid39" + } ] +}, { + "@id" : "https://saref.etsi.org/core/MeterReading", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Meter reading" + } ] +}, { + "@id" : "https://saref.etsi.org/core/MeteringFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A function that allows to get data from a meter, such as current meter reading or instantaneous demand" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Metering function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Function" + }, { + "@id" : "_:genid40" + }, { + "@id" : "_:genid41" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Motion", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Motion" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/MultiLevelState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of state" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Multi level state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/NotifyCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Notify command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid45" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Occupancy", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Occupancy" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OffCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Off command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid46" + }, { + "@id" : "_:genid47" + } ], + "http://www.w3.org/2002/07/owl#disjointWith" : [ { + "@id" : "https://saref.etsi.org/core/OnCommand" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OffState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state of a device that is Off" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Off state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/OnOffState" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OnCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "On command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid48" + }, { + "@id" : "_:genid49" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OnOffFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "An actuating function that allows to switch on and off an actuator" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "On off function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/ActuatingFunction" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OnOffState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of state" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "On off state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OnState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state of a device that is On" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "On state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/OnOffState" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OpenCloseFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "An actuating function that allows to open and close a device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Open close function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/ActuatingFunction" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OpenCloseState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of state" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Open close state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OpenCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Open command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid50" + }, { + "@id" : "_:genid51" + } ] +}, { + "@id" : "https://saref.etsi.org/core/OpenState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state of a device that is OPEN " + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Open state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/OpenCloseState" + } ] +}, { + "@id" : "https://saref.etsi.org/core/PauseCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Pause command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Power", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Power" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/PowerUnit", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The unit of measure for power" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Power unit" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Pressure", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Pressure" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/PressureUnit", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The unit of measure for pressure" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Pressure unit" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Price", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Price" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Profile", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A specification associated to a device to collect information about a certain Property (e.g., Energy) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property (saref:isAbout), can be calculated over a time span (saref:hasTime) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Profile" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid52" + }, { + "@id" : "_:genid53" + }, { + "@id" : "_:genid54" + }, { + "@id" : "_:genid55" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Property", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A quality of a feature of interest that can be measured; an aspect of a feature of interest that is intrinsic to and cannot exist without the feature" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Property" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid59" + }, { + "@id" : "_:genid60" + }, { + "@id" : "_:genid61" + }, { + "@id" : "_:genid62" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Safety", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Safety" + } ] +}, { + "@id" : "https://saref.etsi.org/core/SensingFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Sensing function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Function" + }, { + "@id" : "_:genid63" + }, { + "@id" : "_:genid64" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Sensor", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Sensor" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Device" + }, { + "@id" : "_:genid65" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Service", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Service" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "_:genid66" + }, { + "@id" : "_:genid67" + } ] +}, { + "@id" : "https://saref.etsi.org/core/SetAbsoluteLevelCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of set level command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Set absolute level command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/SetLevelCommand" + } ] +}, { + "@id" : "https://saref.etsi.org/core/SetLevelCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Set level command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid68" + }, { + "@id" : "_:genid69" + } ] +}, { + "@id" : "https://saref.etsi.org/core/SetRelativeLevelCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of set level command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Set relative level command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/SetLevelCommand" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Smoke", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Smoke" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/SmokeSensor", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A sensor that performs the saref:SensingFunction and the saref:EventFunction, and is used for the purpose of sensing a property of type saref:Smoke. A saref:SmokeSensor is typically used to saref:accomplish saref:Safety." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Smoke sensor" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Sensor" + }, { + "@id" : "_:genid70" + }, { + "@id" : "_:genid71" + }, { + "@id" : "_:genid72" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StartCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Start command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid73" + }, { + "@id" : "_:genid74" + } ], + "http://www.w3.org/2002/07/owl#disjointWith" : [ { + "@id" : "https://saref.etsi.org/core/StopCommand" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StartState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state of a device that is STARTED" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Start state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/StartStopState" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StartStopFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "An actuating function that allows to start and stop a device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Start stop function" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/ActuatingFunction" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StartStopState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of state" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Start stop state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/State", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StepDownCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Step down command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid75" + }, { + "@id" : "_:genid76" + } ], + "http://www.w3.org/2002/07/owl#disjointWith" : [ { + "@id" : "https://saref.etsi.org/core/StepUpCommand" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StepUpCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Step up command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid77" + }, { + "@id" : "_:genid78" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StopCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Stop command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid79" + }, { + "@id" : "_:genid80" + } ] +}, { + "@id" : "https://saref.etsi.org/core/StopState", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The state of a device that is STOPPED" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Stop state" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/StartStopState" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Switch", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Switch" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Actuator" + } ] +}, { + "@id" : "https://saref.etsi.org/core/SwitchOnService", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of service that represents an on/off function to the network" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Switch on service" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Service" + }, { + "@id" : "_:genid81" + }, { + "@id" : "_:genid82" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Task", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended. Tasks can be accomplished by devices (saref:isAccomplishedBy)." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Task" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Temperature", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Temperature" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/TemperatureSensor", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A sensor that is used for the purpose of sensing a property of type saref:Temperature. A saref:TemperatureSensor is typically used to saref:accomplish saref:Comfort." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Temperature sensor" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Sensor" + }, { + "@id" : "_:genid83" + }, { + "@id" : "_:genid84" + } ] +}, { + "@id" : "https://saref.etsi.org/core/TemperatureUnit", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The unit of measure for temperature" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Temperature unit" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Time", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A class that allows to specify the time concept." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Time" + } ] +}, { + "@id" : "https://saref.etsi.org/core/ToggleCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Toggle command" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Command" + }, { + "@id" : "_:genid85" + } ] +}, { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Unit of measure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Washing", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Washing" + } ] +}, { + "@id" : "https://saref.etsi.org/core/Water", + "@type" : [ "http://www.w3.org/2002/07/owl#Class" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of commodity" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "Water" + } ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf" : [ { + "@id" : "https://saref.etsi.org/core/Commodity" + } ] +}, { + "@id" : "https://saref.etsi.org/core/WellBeing", + "@type" : [ "http://www.w3.org/2002/07/owl#NamedIndividual", "https://saref.etsi.org/core/Task" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A type of task for which a device is designed" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "WellBeing" + } ] +}, { + "@id" : "https://saref.etsi.org/core/accomplishes", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a certain entity (e.g., a device) and the task it accomplishes" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "accomplishes" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Task" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/isAccomplishedBy" + } ] +}, { + "@id" : "https://saref.etsi.org/core/actsUpon", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a command and a state" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "acts upon" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/consistsOf", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "consists of" + } ] +}, { + "@id" : "https://saref.etsi.org/core/controlsProperty", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship specifying the property that can be controlled by a certain device" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "controls property" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasCommand", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a function and a command" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has command" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Command" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/isCommandOf" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasDescription", + "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag." + }, { + "@language" : "en", + "@value" : "DEPRECATED: The use of rdfs:comment is recommended instead." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has description" + } ], + "http://www.w3.org/2002/07/owl#deprecated" : [ { + "@type" : "http://www.w3.org/2001/XMLSchema#boolean", + "@value" : "true" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasFunction", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the function of a device" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has function" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasManufacturer", + "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has manufacturer" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasMeasurement", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a feature of interest and a measurement about it" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/isMeasurementOf" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasMeterReading", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a metering function and the measurement of the reading" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/MeteringFunction" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has meter reading" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasMeterReadingType", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the reading type of a metering function (e.g., Water, Gas, Pressure , Energy , Power, etc.)" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/MeteringFunction" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has meter reading type" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasModel", + "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has model" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasPrice", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship indentifying the price associated to an entity" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has price" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Price" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasProfile", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship associating a profile to a certain device" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has profile" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Profile" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasProperty", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a feature of interest and a property of that feature" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has property" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/isPropertyOf" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasSensingRange", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a sensing function and a measurement identifying the range of a sensor detection" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/SensingFunction" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has sensing range" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasSensorType", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) " + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/SensingFunction" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has sensor type" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasState", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the type of state of a device" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has state" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/State" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasThresholdMeasurement", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/EventFunction" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has threshold measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasTime", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship to associate time information to an entity" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has time" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Time" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasTimestamp", + "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship stating the timestamp of an entity (e.g. a measurement)." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has timestamp" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasTypicalConsumption", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the typical (energy or power) consumption of a device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has typical consumption" + } ] +}, { + "@id" : "https://saref.etsi.org/core/hasValue", + "@type" : [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship defining the value of a certain property, e.g., energy or power. Note that, even if numeric values are expected to enable reasoning, measurement values could use other datatypes." + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "has value" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isAbout", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying what an entity, such as a profile, is about" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "isAbout" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isAccomplishedBy", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying an entity (e.g., a device) that can accomplish a task." + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Task" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is accomplished by" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isCommandOf", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a command and a function." + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Command" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is command of" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isControlledByDevice", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship specifying the devices that can control a certain property" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is controlled by device" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isMeasuredByDevice", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship specifying the devices that can measure a certain property" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is measured by device" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isMeasuredIn", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship identifying the unit of measure used for a certain entity." + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is measured in" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/UnitOfMeasure" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isMeasurementOf", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a measurement and the feature of interest whose quality was measured" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "isMeasurementOf" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isOfferedBy", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a service and a device that offers the service" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Service" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is offered by" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/offers" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isPropertyOf", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a property and the feature of interest it belongs to" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is property of" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/FeatureOfInterest" + } ] +}, { + "@id" : "https://saref.etsi.org/core/isUsedFor", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship specifying the commodity for which a device is used for" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "is used for" + } ] +}, { + "@id" : "https://saref.etsi.org/core/makesMeasurement", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates." + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "makes measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/measurementMadeBy" + } ] +}, { + "@id" : "https://saref.etsi.org/core/measurementMadeBy", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relation between a measurement and the device that made it." + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "measurement made by" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ] +}, { + "@id" : "https://saref.etsi.org/core/measuresProperty", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship specifying the property that can be measured by a certain device" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "measures property" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/offers", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a device and a service" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Device" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "offers" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Service" + } ] +}, { + "@id" : "https://saref.etsi.org/core/relatesToMeasurement", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a property and the measurements it relates to" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "relates to measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2002/07/owl#inverseOf" : [ { + "@id" : "https://saref.etsi.org/core/relatesToProperty" + } ] +}, { + "@id" : "https://saref.etsi.org/core/relatesToProperty", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a measurement and the property it relates to" + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Measurement" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "relates to property" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Property" + } ] +}, { + "@id" : "https://saref.etsi.org/core/represents", + "@type" : [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], + "http://www.w3.org/2000/01/rdf-schema#comment" : [ { + "@language" : "en", + "@value" : "A relationship between a service and a function." + } ], + "http://www.w3.org/2000/01/rdf-schema#domain" : [ { + "@id" : "https://saref.etsi.org/core/Service" + } ], + "http://www.w3.org/2000/01/rdf-schema#label" : [ { + "@language" : "en", + "@value" : "represents" + } ], + "http://www.w3.org/2000/01/rdf-schema#range" : [ { + "@id" : "https://saref.etsi.org/core/Function" + } ] +} ] \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.nt b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.nt new file mode 100644 index 0000000000000000000000000000000000000000..c87cf12cbdc7c4bb942086275dbf2a484bab06c4 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.nt @@ -0,0 +1,1230 @@ +<https://saref.etsi.org/core/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Ontology> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/contributor> <http://maxime-lefrancois.info/me#> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/contributor> <http://www.garcia-castro.com/foaf.rdf#me> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/contributor> <https://w3id.org/people/mpoveda/> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/contributor> <https://www.linkedin.com/in/lauradaniele> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/description> "The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market."@en . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/issued> "2020-02-11"^^<http://www.w3.org/2001/XMLSchema#date> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/license> <https://forge.etsi.org/etsi-software-license> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/publisher> <https://www.etsi.org/> . +<https://saref.etsi.org/core/> <http://purl.org/dc/terms/title> "SAREF: the Smart Applications REFerence ontology"@en . +<https://saref.etsi.org/core/> <http://purl.org/vocab/vann/preferredNamespacePrefix> "saref" . +<https://saref.etsi.org/core/> <http://purl.org/vocab/vann/preferredNamespaceUri> "https://saref.etsi.org/core/"^^<http://www.w3.org/2001/XMLSchema#anyURI> . +<https://saref.etsi.org/core/> <http://www.w3.org/2000/01/rdf-schema#comment> "Information about changes compared to version 1.1.1:\n - The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings, including the reuse of the W3C� WGS84 geo positioning vocabulary.\n - The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class.\n - The information specific for energy efficiency has been moved to the SAREF4ENER extension. For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension. \n - The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy).\n - The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension, in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property).\n - Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed.\n - The saref:UnitOfMeasure subclasses use individuals from the OM ontology for unit of measures, but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used.\n - The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes. \n - The subclasses of saref:Task have been transormed in individuals.\n - The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class." . +<https://saref.etsi.org/core/> <http://www.w3.org/2000/01/rdf-schema#comment> "Information about changes compared to version 2.1.1: \n - Added the saref:FeatureOfInterest class and the properties used to relate it to saref:Measurement (saref:hasMeasurement and saref:isMeasurementOf) and to saref:Property (saref:hasProperty and saref:isPropertyOf).\n - Added the saref:measurementMadeBy property as inverse of saref:makesMeasurement.\n - The saref:relatesToProperty and saref:relatesToMeasurement properties are now inverse of each other.\n - The range of saref:hasValue, which was defined as xsd:float, has been removed to support other datatypes for measurements.\n - The range of datatype properties, which was defined as xsd:string, has been removed in order to support strings with language tags (rdf:langString). This affects saref:hasDescription, saref:hasManufacturer, saref:hasModel and saref:hasName, which now have implicitly a range of rdfs:Literal.\n - The saref:hasName property has been removed and the use of rdfs:label is recommended. \n - The saref:hasDescription property has been deprecated and the use of rdfs:comment is recommended. \n - Too restrictive restrictions have been removed and in some cases the ontology documentation has been updated to reflect this: a saref:Command having at most one saref:hasDescription; a saref:Task being accomplished by at least one saref:Device; a saref:Device having a typical consumption of only energy or power; a saref:Commodity being measured in units of measure; restrictions on the values of saref:accomplishes that only covered specific use cases; universal restrictions on the saref:actsUpon property have been changed to existential ones; restrictions on the commands that a saref:Function may have, since there could be others not included in the defined enumerations; restrictive documentation of saref:EventFunction and saref:SmokeSensor.\n - Bugs have been fixed: some devices (saref:DoorSwitch, saref:EnergyMeter, saref:LigthSwitch, saref:SmokeSensor, and saref:TemperatureSensor) were defined as subclass of a device and at the same time as consisting of such device; a saref:LightSwitch controls light and does not measure light, since it is an actuator; incorrect documentation of saref:OnState and saref:OffState.\n - The saref:BuildingRelated, saref:EnergyRelated and saref:FunctionRelated classes have been removed, since the different extensions already classify the device types.\n - The instances of the subclasses of saref:Command have been removed, since they represent examples.\n - The instances of saref:UnitOfMeasure have been moved to examples.\n - The classes related to the SAREF4ENER extension have been removed: saref:Generator, saref:Storage, saref:Load and saref:EnergyMeter.\n - Some instances of saref:Device have been moved to examples: saref:WashingMachine, saref:LightingDevice, saref:MicroRenewable, saref:Multimedia, and saref:Network.\n - Added domain and range axioms wherever the definition of a property unambiguously identifies the domain or the range of the property.\n - The OWL Time ontology is not imported anymore.\n - The documentation of some ontology terms has been updated for clarification.\n - Language tags have been added to all labels and comments.\n" . +<https://saref.etsi.org/core/> <http://www.w3.org/2002/07/owl#versionInfo> "3.1.1" . +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://purl.org/dc/terms/contributor +<http://purl.org/dc/terms/contributor> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/dc/terms/description +<http://purl.org/dc/terms/description> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/dc/terms/issued +<http://purl.org/dc/terms/issued> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/dc/terms/license +<http://purl.org/dc/terms/license> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/dc/terms/publisher +<http://purl.org/dc/terms/publisher> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/dc/terms/title +<http://purl.org/dc/terms/title> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/vocab/vann/preferredNamespacePrefix +<http://purl.org/vocab/vann/preferredNamespacePrefix> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# http://purl.org/vocab/vann/preferredNamespaceUri +<http://purl.org/vocab/vann/preferredNamespaceUri> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#AnnotationProperty> . +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/core/accomplishes +<https://saref.etsi.org/core/accomplishes> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/accomplishes> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/isAccomplishedBy> . +<https://saref.etsi.org/core/accomplishes> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/accomplishes> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a certain entity (e.g., a device) and the task it accomplishes"@en . +<https://saref.etsi.org/core/accomplishes> <http://www.w3.org/2000/01/rdf-schema#label> "accomplishes"@en . +# +# https://saref.etsi.org/core/actsUpon +<https://saref.etsi.org/core/actsUpon> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/actsUpon> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/actsUpon> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/actsUpon> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a command and a state"@en . +<https://saref.etsi.org/core/actsUpon> <http://www.w3.org/2000/01/rdf-schema#label> "acts upon"@en . +# +# https://saref.etsi.org/core/consistsOf +<https://saref.etsi.org/core/consistsOf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/consistsOf> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)"@en . +<https://saref.etsi.org/core/consistsOf> <http://www.w3.org/2000/01/rdf-schema#label> "consists of"@en . +# +# https://saref.etsi.org/core/controlsProperty +<https://saref.etsi.org/core/controlsProperty> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/controlsProperty> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/controlsProperty> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/controlsProperty> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship specifying the property that can be controlled by a certain device"@en . +<https://saref.etsi.org/core/controlsProperty> <http://www.w3.org/2000/01/rdf-schema#label> "controls property"@en . +# +# https://saref.etsi.org/core/hasCommand +<https://saref.etsi.org/core/hasCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasCommand> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/isCommandOf> . +<https://saref.etsi.org/core/hasCommand> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/hasCommand> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/hasCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a function and a command"@en . +<https://saref.etsi.org/core/hasCommand> <http://www.w3.org/2000/01/rdf-schema#label> "has command"@en . +# +# https://saref.etsi.org/core/hasFunction +<https://saref.etsi.org/core/hasFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasFunction> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/hasFunction> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/hasFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the function of a device"@en . +<https://saref.etsi.org/core/hasFunction> <http://www.w3.org/2000/01/rdf-schema#label> "has function"@en . +# +# https://saref.etsi.org/core/hasMeasurement +<https://saref.etsi.org/core/hasMeasurement> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasMeasurement> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/isMeasurementOf> . +<https://saref.etsi.org/core/hasMeasurement> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/FeatureOfInterest> . +<https://saref.etsi.org/core/hasMeasurement> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/hasMeasurement> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a feature of interest and a measurement about it"@en . +<https://saref.etsi.org/core/hasMeasurement> <http://www.w3.org/2000/01/rdf-schema#label> "has measurement"@en . +# +# https://saref.etsi.org/core/hasMeterReading +<https://saref.etsi.org/core/hasMeterReading> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasMeterReading> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/MeteringFunction> . +<https://saref.etsi.org/core/hasMeterReading> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/hasMeterReading> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a metering function and the measurement of the reading"@en . +<https://saref.etsi.org/core/hasMeterReading> <http://www.w3.org/2000/01/rdf-schema#label> "has meter reading"@en . +# +# https://saref.etsi.org/core/hasMeterReadingType +<https://saref.etsi.org/core/hasMeterReadingType> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasMeterReadingType> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/MeteringFunction> . +<https://saref.etsi.org/core/hasMeterReadingType> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/hasMeterReadingType> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the reading type of a metering function (e.g., Water, Gas, Pressure , Energy , Power, etc.)"@en . +<https://saref.etsi.org/core/hasMeterReadingType> <http://www.w3.org/2000/01/rdf-schema#label> "has meter reading type"@en . +# +# https://saref.etsi.org/core/hasPrice +<https://saref.etsi.org/core/hasPrice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasPrice> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Price> . +<https://saref.etsi.org/core/hasPrice> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship indentifying the price associated to an entity"@en . +<https://saref.etsi.org/core/hasPrice> <http://www.w3.org/2000/01/rdf-schema#label> "has price"@en . +# +# https://saref.etsi.org/core/hasProfile +<https://saref.etsi.org/core/hasProfile> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasProfile> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/hasProfile> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Profile> . +<https://saref.etsi.org/core/hasProfile> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship associating a profile to a certain device"@en . +<https://saref.etsi.org/core/hasProfile> <http://www.w3.org/2000/01/rdf-schema#label> "has profile"@en . +# +# https://saref.etsi.org/core/hasProperty +<https://saref.etsi.org/core/hasProperty> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasProperty> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/isPropertyOf> . +<https://saref.etsi.org/core/hasProperty> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/FeatureOfInterest> . +<https://saref.etsi.org/core/hasProperty> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/hasProperty> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a feature of interest and a property of that feature"@en . +<https://saref.etsi.org/core/hasProperty> <http://www.w3.org/2000/01/rdf-schema#label> "has property"@en . +# +# https://saref.etsi.org/core/hasSensingRange +<https://saref.etsi.org/core/hasSensingRange> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasSensingRange> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/SensingFunction> . +<https://saref.etsi.org/core/hasSensingRange> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/hasSensingRange> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a sensing function and a measurement identifying the range of a sensor detection"@en . +<https://saref.etsi.org/core/hasSensingRange> <http://www.w3.org/2000/01/rdf-schema#label> "has sensing range"@en . +# +# https://saref.etsi.org/core/hasSensorType +<https://saref.etsi.org/core/hasSensorType> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasSensorType> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/SensingFunction> . +<https://saref.etsi.org/core/hasSensorType> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/hasSensorType> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) "@en . +<https://saref.etsi.org/core/hasSensorType> <http://www.w3.org/2000/01/rdf-schema#label> "has sensor type"@en . +# +# https://saref.etsi.org/core/hasState +<https://saref.etsi.org/core/hasState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasState> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/hasState> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/hasState> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the type of state of a device"@en . +<https://saref.etsi.org/core/hasState> <http://www.w3.org/2000/01/rdf-schema#label> "has state"@en . +# +# https://saref.etsi.org/core/hasThresholdMeasurement +<https://saref.etsi.org/core/hasThresholdMeasurement> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasThresholdMeasurement> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/EventFunction> . +<https://saref.etsi.org/core/hasThresholdMeasurement> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/hasThresholdMeasurement> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded"@en . +<https://saref.etsi.org/core/hasThresholdMeasurement> <http://www.w3.org/2000/01/rdf-schema#label> "has threshold measurement"@en . +# +# https://saref.etsi.org/core/hasTime +<https://saref.etsi.org/core/hasTime> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasTime> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Time> . +<https://saref.etsi.org/core/hasTime> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship to associate time information to an entity"@en . +<https://saref.etsi.org/core/hasTime> <http://www.w3.org/2000/01/rdf-schema#label> "has time"@en . +# +# https://saref.etsi.org/core/hasTypicalConsumption +<https://saref.etsi.org/core/hasTypicalConsumption> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/hasTypicalConsumption> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the typical (energy or power) consumption of a device"@en . +<https://saref.etsi.org/core/hasTypicalConsumption> <http://www.w3.org/2000/01/rdf-schema#label> "has typical consumption"@en . +# +# https://saref.etsi.org/core/isAbout +<https://saref.etsi.org/core/isAbout> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isAbout> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying what an entity, such as a profile, is about"@en . +<https://saref.etsi.org/core/isAbout> <http://www.w3.org/2000/01/rdf-schema#label> "isAbout"@en . +# +# https://saref.etsi.org/core/isAccomplishedBy +<https://saref.etsi.org/core/isAccomplishedBy> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isAccomplishedBy> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/isAccomplishedBy> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying an entity (e.g., a device) that can accomplish a task."@en . +<https://saref.etsi.org/core/isAccomplishedBy> <http://www.w3.org/2000/01/rdf-schema#label> "is accomplished by"@en . +# +# https://saref.etsi.org/core/isCommandOf +<https://saref.etsi.org/core/isCommandOf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isCommandOf> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/isCommandOf> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/isCommandOf> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a command and a function."@en . +<https://saref.etsi.org/core/isCommandOf> <http://www.w3.org/2000/01/rdf-schema#label> "is command of"@en . +# +# https://saref.etsi.org/core/isControlledByDevice +<https://saref.etsi.org/core/isControlledByDevice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isControlledByDevice> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/isControlledByDevice> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/isControlledByDevice> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship specifying the devices that can control a certain property"@en . +<https://saref.etsi.org/core/isControlledByDevice> <http://www.w3.org/2000/01/rdf-schema#label> "is controlled by device"@en . +# +# https://saref.etsi.org/core/isMeasuredByDevice +<https://saref.etsi.org/core/isMeasuredByDevice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isMeasuredByDevice> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/isMeasuredByDevice> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/isMeasuredByDevice> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship specifying the devices that can measure a certain property"@en . +<https://saref.etsi.org/core/isMeasuredByDevice> <http://www.w3.org/2000/01/rdf-schema#label> "is measured by device"@en . +# +# https://saref.etsi.org/core/isMeasuredIn +<https://saref.etsi.org/core/isMeasuredIn> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isMeasuredIn> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/isMeasuredIn> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/isMeasuredIn> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the unit of measure used for a certain entity."@en . +<https://saref.etsi.org/core/isMeasuredIn> <http://www.w3.org/2000/01/rdf-schema#label> "is measured in"@en . +# +# https://saref.etsi.org/core/isMeasurementOf +<https://saref.etsi.org/core/isMeasurementOf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isMeasurementOf> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/isMeasurementOf> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/FeatureOfInterest> . +<https://saref.etsi.org/core/isMeasurementOf> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a measurement and the feature of interest whose quality was measured"@en . +<https://saref.etsi.org/core/isMeasurementOf> <http://www.w3.org/2000/01/rdf-schema#label> "isMeasurementOf"@en . +# +# https://saref.etsi.org/core/isOfferedBy +<https://saref.etsi.org/core/isOfferedBy> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isOfferedBy> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/offers> . +<https://saref.etsi.org/core/isOfferedBy> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Service> . +<https://saref.etsi.org/core/isOfferedBy> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/isOfferedBy> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a service and a device that offers the service"@en . +<https://saref.etsi.org/core/isOfferedBy> <http://www.w3.org/2000/01/rdf-schema#label> "is offered by"@en . +# +# https://saref.etsi.org/core/isPropertyOf +<https://saref.etsi.org/core/isPropertyOf> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isPropertyOf> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/isPropertyOf> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/FeatureOfInterest> . +<https://saref.etsi.org/core/isPropertyOf> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a property and the feature of interest it belongs to"@en . +<https://saref.etsi.org/core/isPropertyOf> <http://www.w3.org/2000/01/rdf-schema#label> "is property of"@en . +# +# https://saref.etsi.org/core/isUsedFor +<https://saref.etsi.org/core/isUsedFor> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/isUsedFor> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship specifying the commodity for which a device is used for"@en . +<https://saref.etsi.org/core/isUsedFor> <http://www.w3.org/2000/01/rdf-schema#label> "is used for"@en . +# +# https://saref.etsi.org/core/makesMeasurement +<https://saref.etsi.org/core/makesMeasurement> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/makesMeasurement> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/measurementMadeBy> . +<https://saref.etsi.org/core/makesMeasurement> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/makesMeasurement> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/makesMeasurement> <http://www.w3.org/2000/01/rdf-schema#comment> "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en . +<https://saref.etsi.org/core/makesMeasurement> <http://www.w3.org/2000/01/rdf-schema#label> "makes measurement"@en . +# +# https://saref.etsi.org/core/measurementMadeBy +<https://saref.etsi.org/core/measurementMadeBy> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/measurementMadeBy> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/measurementMadeBy> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/measurementMadeBy> <http://www.w3.org/2000/01/rdf-schema#comment> "A relation between a measurement and the device that made it."@en . +<https://saref.etsi.org/core/measurementMadeBy> <http://www.w3.org/2000/01/rdf-schema#label> "measurement made by"@en . +# +# https://saref.etsi.org/core/measuresProperty +<https://saref.etsi.org/core/measuresProperty> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/measuresProperty> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/measuresProperty> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/measuresProperty> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship specifying the property that can be measured by a certain device"@en . +<https://saref.etsi.org/core/measuresProperty> <http://www.w3.org/2000/01/rdf-schema#label> "measures property"@en . +# +# https://saref.etsi.org/core/offers +<https://saref.etsi.org/core/offers> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/offers> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/offers> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Service> . +<https://saref.etsi.org/core/offers> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a device and a service"@en . +<https://saref.etsi.org/core/offers> <http://www.w3.org/2000/01/rdf-schema#label> "offers"@en . +# +# https://saref.etsi.org/core/relatesToMeasurement +<https://saref.etsi.org/core/relatesToMeasurement> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/relatesToMeasurement> <http://www.w3.org/2002/07/owl#inverseOf> <https://saref.etsi.org/core/relatesToProperty> . +<https://saref.etsi.org/core/relatesToMeasurement> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/relatesToMeasurement> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/relatesToMeasurement> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a property and the measurements it relates to"@en . +<https://saref.etsi.org/core/relatesToMeasurement> <http://www.w3.org/2000/01/rdf-schema#label> "relates to measurement"@en . +# +# https://saref.etsi.org/core/relatesToProperty +<https://saref.etsi.org/core/relatesToProperty> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/relatesToProperty> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/relatesToProperty> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/relatesToProperty> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a measurement and the property it relates to"@en . +<https://saref.etsi.org/core/relatesToProperty> <http://www.w3.org/2000/01/rdf-schema#label> "relates to property"@en . +# +# https://saref.etsi.org/core/represents +<https://saref.etsi.org/core/represents> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<https://saref.etsi.org/core/represents> <http://www.w3.org/2000/01/rdf-schema#domain> <https://saref.etsi.org/core/Service> . +<https://saref.etsi.org/core/represents> <http://www.w3.org/2000/01/rdf-schema#range> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/represents> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship between a service and a function."@en . +<https://saref.etsi.org/core/represents> <http://www.w3.org/2000/01/rdf-schema#label> "represents"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/core/hasDescription +<https://saref.etsi.org/core/hasDescription> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<https://saref.etsi.org/core/hasDescription> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en . +<https://saref.etsi.org/core/hasDescription> <http://www.w3.org/2000/01/rdf-schema#comment> "DEPRECATED: The use of rdfs:comment is recommended instead."@en . +<https://saref.etsi.org/core/hasDescription> <http://www.w3.org/2000/01/rdf-schema#label> "has description"@en . +<https://saref.etsi.org/core/hasDescription> <http://www.w3.org/2002/07/owl#deprecated> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> . +# +# https://saref.etsi.org/core/hasManufacturer +<https://saref.etsi.org/core/hasManufacturer> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<https://saref.etsi.org/core/hasManufacturer> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en . +<https://saref.etsi.org/core/hasManufacturer> <http://www.w3.org/2000/01/rdf-schema#label> "has manufacturer"@en . +# +# https://saref.etsi.org/core/hasModel +<https://saref.etsi.org/core/hasModel> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<https://saref.etsi.org/core/hasModel> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en . +<https://saref.etsi.org/core/hasModel> <http://www.w3.org/2000/01/rdf-schema#label> "has model"@en . +# +# https://saref.etsi.org/core/hasTimestamp +<https://saref.etsi.org/core/hasTimestamp> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<https://saref.etsi.org/core/hasTimestamp> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship stating the timestamp of an entity (e.g. a measurement)."@en . +<https://saref.etsi.org/core/hasTimestamp> <http://www.w3.org/2000/01/rdf-schema#label> "has timestamp"@en . +# +# https://saref.etsi.org/core/hasValue +<https://saref.etsi.org/core/hasValue> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<https://saref.etsi.org/core/hasValue> <http://www.w3.org/2000/01/rdf-schema#comment> "A relationship defining the value of a certain property, e.g., energy or power. Note that, even if numeric values are expected to enable reasoning, measurement values could use other datatypes."@en . +<https://saref.etsi.org/core/hasValue> <http://www.w3.org/2000/01/rdf-schema#label> "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# https://saref.etsi.org/core/ActuatingFunction +<https://saref.etsi.org/core/ActuatingFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/ActuatingFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/ActuatingFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)"@en . +<https://saref.etsi.org/core/ActuatingFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Actuating function"@en . +# +# https://saref.etsi.org/core/Actuator +<https://saref.etsi.org/core/Actuator> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Actuator> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Actuator> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid1 . +_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid1 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid1 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/ActuatingFunction> . +<https://saref.etsi.org/core/Actuator> <http://www.w3.org/2000/01/rdf-schema#comment> "A device responsible for moving or controlling a mechanism or system by performing an actuating function"@en . +<https://saref.etsi.org/core/Actuator> <http://www.w3.org/2000/01/rdf-schema#label> "Actuator"@en . +# +# https://saref.etsi.org/core/Appliance +<https://saref.etsi.org/core/Appliance> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Appliance> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Appliance> <http://www.w3.org/2000/01/rdf-schema#comment> "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking"@en . +<https://saref.etsi.org/core/Appliance> <http://www.w3.org/2000/01/rdf-schema#label> "Appliance"@en . +# +# https://saref.etsi.org/core/CloseCommand +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid2 . +_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid2 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid2 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OpenCloseState> . +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid3 . +_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid3 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid3 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/OpenCloseFunction> . +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/2002/07/owl#disjointWith> <https://saref.etsi.org/core/OpenCommand> . +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/CloseCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Close command"@en . +# +# https://saref.etsi.org/core/CloseState +<https://saref.etsi.org/core/CloseState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/CloseState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/OpenCloseState> . +<https://saref.etsi.org/core/CloseState> <http://www.w3.org/2000/01/rdf-schema#comment> "The state of a device that is CLOSE"@en . +<https://saref.etsi.org/core/CloseState> <http://www.w3.org/2000/01/rdf-schema#label> "Close state"@en . +# +# https://saref.etsi.org/core/Coal +<https://saref.etsi.org/core/Coal> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Coal> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Commodity> . +<https://saref.etsi.org/core/Coal> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of commodity"@en . +<https://saref.etsi.org/core/Coal> <http://www.w3.org/2000/01/rdf-schema#label> "Coal"@en . +# +# https://saref.etsi.org/core/Command +<https://saref.etsi.org/core/Command> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Command> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid4 . +_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid4 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid4 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/Command> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid5 . +_:genid5 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid5 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid5 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid5 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/Command> <http://www.w3.org/2000/01/rdf-schema#comment> "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended."@en . +<https://saref.etsi.org/core/Command> <http://www.w3.org/2000/01/rdf-schema#label> "Command"@en . +# +# https://saref.etsi.org/core/Commodity +<https://saref.etsi.org/core/Commodity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Commodity> <http://www.w3.org/2000/01/rdf-schema#comment> "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. "@en . +<https://saref.etsi.org/core/Commodity> <http://www.w3.org/2000/01/rdf-schema#label> "Commodity"@en . +# +# https://saref.etsi.org/core/Currency +<https://saref.etsi.org/core/Currency> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Currency> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/Currency> <http://www.w3.org/2000/01/rdf-schema#comment> "The class of units of measure for price"@en . +<https://saref.etsi.org/core/Currency> <http://www.w3.org/2000/01/rdf-schema#label> "Currency"@en . +# +# https://saref.etsi.org/core/Device +<https://saref.etsi.org/core/Device> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid6 . +_:genid6 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid6 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/consistsOf> . +_:genid6 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid7 . +_:genid7 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid7 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/controlsProperty> . +_:genid7 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid8 . +_:genid8 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid8 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasProfile> . +_:genid8 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Profile> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid9 . +_:genid9 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid9 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasState> . +_:genid9 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid10 . +_:genid10 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid10 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isUsedFor> . +_:genid10 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Commodity> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid11 . +_:genid11 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid11 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/makesMeasurement> . +_:genid11 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid12 . +_:genid12 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid12 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/measuresProperty> . +_:genid12 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid13 . +_:genid13 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid13 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/offers> . +_:genid13 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Service> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid14 . +_:genid14 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid14 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/accomplishes> . +_:genid14 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid14 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid15 . +_:genid15 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid15 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid15 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid15 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid16 . +_:genid16 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid16 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasManufacturer> . +_:genid16 <http://www.w3.org/2002/07/owl#maxCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid17 . +_:genid17 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid17 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasModel> . +_:genid17 <http://www.w3.org/2002/07/owl#maxCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#comment> "A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function."@en . +<https://saref.etsi.org/core/Device> <http://www.w3.org/2000/01/rdf-schema#label> "Device"@en . +# +# https://saref.etsi.org/core/DoorSwitch +<https://saref.etsi.org/core/DoorSwitch> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/DoorSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Switch> . +<https://saref.etsi.org/core/DoorSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid18 . +_:genid18 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid18 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid18 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OpenCloseFunction> . +<https://saref.etsi.org/core/DoorSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid19 . +_:genid19 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid19 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasState> . +_:genid19 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OpenCloseState> . +<https://saref.etsi.org/core/DoorSwitch> <http://www.w3.org/2000/01/rdf-schema#comment> "A switch that performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState. A saref:DoorSwitch is typically used to accomplish saref:Safety."@en . +<https://saref.etsi.org/core/DoorSwitch> <http://www.w3.org/2000/01/rdf-schema#label> "Door switch"@en . +# +# https://saref.etsi.org/core/Electricity +<https://saref.etsi.org/core/Electricity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Electricity> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Commodity> . +<https://saref.etsi.org/core/Electricity> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of commodity"@en . +<https://saref.etsi.org/core/Electricity> <http://www.w3.org/2000/01/rdf-schema#label> "Electricity"@en . +# +# https://saref.etsi.org/core/Energy +<https://saref.etsi.org/core/Energy> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Energy> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Energy> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. "@en . +<https://saref.etsi.org/core/Energy> <http://www.w3.org/2000/01/rdf-schema#label> "Energy"@en . +# +# https://saref.etsi.org/core/EnergyUnit +<https://saref.etsi.org/core/EnergyUnit> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/EnergyUnit> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/EnergyUnit> <http://www.w3.org/2000/01/rdf-schema#comment> "The unit of measure for energy"@en . +<https://saref.etsi.org/core/EnergyUnit> <http://www.w3.org/2000/01/rdf-schema#label> "Energy unit"@en . +# +# https://saref.etsi.org/core/EventFunction +<https://saref.etsi.org/core/EventFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/EventFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/EventFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid20 . +_:genid20 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid20 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasThresholdMeasurement> . +_:genid20 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid20 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/EventFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved."@en . +<https://saref.etsi.org/core/EventFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Event function"@en . +# +# https://saref.etsi.org/core/FeatureOfInterest +<https://saref.etsi.org/core/FeatureOfInterest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/FeatureOfInterest> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid21 . +_:genid21 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid21 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasMeasurement> . +_:genid21 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/FeatureOfInterest> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid22 . +_:genid22 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid22 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasProperty> . +_:genid22 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/FeatureOfInterest> <http://www.w3.org/2000/01/rdf-schema#comment> "A feature of interest represents any real world entity from which a property is measured."@en . +<https://saref.etsi.org/core/FeatureOfInterest> <http://www.w3.org/2000/01/rdf-schema#label> "Feature of interest"@en . +# +# https://saref.etsi.org/core/Function +<https://saref.etsi.org/core/Function> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Function> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid23 . +_:genid23 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid23 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasCommand> . +_:genid23 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid23 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/Function> <http://www.w3.org/2000/01/rdf-schema#comment> "The functionality necessary to accomplish the task for which a device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. "@en . +<https://saref.etsi.org/core/Function> <http://www.w3.org/2000/01/rdf-schema#label> "Function"@en . +# +# https://saref.etsi.org/core/Gas +<https://saref.etsi.org/core/Gas> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Gas> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Commodity> . +<https://saref.etsi.org/core/Gas> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of commodity"@en . +<https://saref.etsi.org/core/Gas> <http://www.w3.org/2000/01/rdf-schema#label> "Gas"@en . +# +# https://saref.etsi.org/core/GetCommand +<https://saref.etsi.org/core/GetCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/GetCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/GetCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/GetCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Get command"@en . +# +# https://saref.etsi.org/core/GetCurrentMeterValueCommand +<https://saref.etsi.org/core/GetCurrentMeterValueCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/GetCurrentMeterValueCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/GetCommand> . +<https://saref.etsi.org/core/GetCurrentMeterValueCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid24 . +_:genid24 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid24 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid24 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/MeteringFunction> . +<https://saref.etsi.org/core/GetCurrentMeterValueCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of get command"@en . +<https://saref.etsi.org/core/GetCurrentMeterValueCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Get current meter value command"@en . +# +# https://saref.etsi.org/core/GetMeterDataCommand +<https://saref.etsi.org/core/GetMeterDataCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/GetMeterDataCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/GetCommand> . +<https://saref.etsi.org/core/GetMeterDataCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid25 . +_:genid25 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid25 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid25 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/MeteringFunction> . +<https://saref.etsi.org/core/GetMeterDataCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of get command"@en . +<https://saref.etsi.org/core/GetMeterDataCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Get meter data command"@en . +# +# https://saref.etsi.org/core/GetMeterHistoryCommand +<https://saref.etsi.org/core/GetMeterHistoryCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/GetMeterHistoryCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/GetCommand> . +<https://saref.etsi.org/core/GetMeterHistoryCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid26 . +_:genid26 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid26 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid26 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/MeteringFunction> . +<https://saref.etsi.org/core/GetMeterHistoryCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of get command"@en . +<https://saref.etsi.org/core/GetMeterHistoryCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Get meter history command"@en . +# +# https://saref.etsi.org/core/GetSensingDataCommand +<https://saref.etsi.org/core/GetSensingDataCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/GetSensingDataCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/GetCommand> . +<https://saref.etsi.org/core/GetSensingDataCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid27 . +_:genid27 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid27 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid27 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/SensingFunction> . +<https://saref.etsi.org/core/GetSensingDataCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of get command"@en . +<https://saref.etsi.org/core/GetSensingDataCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Get sensing data command"@en . +# +# https://saref.etsi.org/core/HVAC +<https://saref.etsi.org/core/HVAC> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/HVAC> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/HVAC> <http://www.w3.org/2000/01/rdf-schema#comment> "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort. A saref:HVAC is typically used to accomplish saref:Comfort."@en . +<https://saref.etsi.org/core/HVAC> <http://www.w3.org/2000/01/rdf-schema#label> "HVAC"@en . +# +# https://saref.etsi.org/core/Humidity +<https://saref.etsi.org/core/Humidity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Humidity> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Humidity> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"@en . +<https://saref.etsi.org/core/Humidity> <http://www.w3.org/2000/01/rdf-schema#label> "Humidity"@en . +# +# https://saref.etsi.org/core/IlluminanceUnit +<https://saref.etsi.org/core/IlluminanceUnit> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/IlluminanceUnit> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/IlluminanceUnit> <http://www.w3.org/2000/01/rdf-schema#comment> "The unit of measure for light"@en . +<https://saref.etsi.org/core/IlluminanceUnit> <http://www.w3.org/2000/01/rdf-schema#label> "Illuminance unit"@en . +# +# https://saref.etsi.org/core/LevelControlFunction +<https://saref.etsi.org/core/LevelControlFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/LevelControlFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/ActuatingFunction> . +<https://saref.etsi.org/core/LevelControlFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "An actuating function that allows to do level adjustments of a property in a certain range (e.g., 0%-100%), such as dimming a light in a room or setting the speed of an electric motor. "@en . +<https://saref.etsi.org/core/LevelControlFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Level control function"@en . +# +# https://saref.etsi.org/core/Light +<https://saref.etsi.org/core/Light> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Light> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Light> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)"@en . +<https://saref.etsi.org/core/Light> <http://www.w3.org/2000/01/rdf-schema#label> "Light"@en . +# +# https://saref.etsi.org/core/LightSwitch +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Switch> . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid28 . +_:genid28 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid28 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/controlsProperty> . +_:genid28 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/Light> . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid29 . +_:genid29 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid29 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid29 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OnOffFunction> . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid30 . +_:genid30 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid30 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasState> . +_:genid30 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OnOffState> . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid31 . +_:genid31 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid31 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/offers> . +_:genid31 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/SwitchOnService> . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#comment> "A switch that performs the saref:OnOffFunction, controls the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service. A saref:LightSwitch is typically used to accomplish saref:Lighting."@en . +<https://saref.etsi.org/core/LightSwitch> <http://www.w3.org/2000/01/rdf-schema#label> "Light switch"@en . +# +# https://saref.etsi.org/core/Measurement +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid32 . +_:genid32 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid32 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isMeasuredIn> . +_:genid32 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid33 . +_:genid33 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid33 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isMeasurementOf> . +_:genid33 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/FeatureOfInterest> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid34 . +_:genid34 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid34 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/relatesToProperty> . +_:genid34 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid35 . +_:genid35 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid35 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isMeasuredIn> . +_:genid35 <http://www.w3.org/2002/07/owl#qualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid35 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid36 . +_:genid36 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid36 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/relatesToProperty> . +_:genid36 <http://www.w3.org/2002/07/owl#qualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid36 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid37 . +_:genid37 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid37 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasTimestamp> . +_:genid37 <http://www.w3.org/2002/07/owl#allValuesFrom> <http://www.w3.org/2001/XMLSchema#dateTime> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid38 . +_:genid38 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid38 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasValue> . +_:genid38 <http://www.w3.org/2002/07/owl#cardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#comment> "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en . +<https://saref.etsi.org/core/Measurement> <http://www.w3.org/2000/01/rdf-schema#label> "Measurement"@en . +# +# https://saref.etsi.org/core/Meter +<https://saref.etsi.org/core/Meter> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Meter> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Meter> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid39 . +_:genid39 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid39 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid39 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/MeteringFunction> . +<https://saref.etsi.org/core/Meter> <http://www.w3.org/2000/01/rdf-schema#comment> "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction."@en . +<https://saref.etsi.org/core/Meter> <http://www.w3.org/2000/01/rdf-schema#label> "Meter"@en . +# +# https://saref.etsi.org/core/MeteringFunction +<https://saref.etsi.org/core/MeteringFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/MeteringFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/MeteringFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid40 . +_:genid40 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid40 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasMeterReading> . +_:genid40 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/MeteringFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid41 . +_:genid41 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid41 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasMeterReadingType> . +_:genid41 <http://www.w3.org/2002/07/owl#allValuesFrom> _:genid42 . +_:genid42 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +_:genid42 <http://www.w3.org/2002/07/owl#unionOf> _:genid44 . +_:genid44 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> . +_:genid44 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <https://saref.etsi.org/core/Commodity> . +_:genid44 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid43 . +_:genid43 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> . +_:genid43 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <https://saref.etsi.org/core/Property> . +_:genid43 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> . +<https://saref.etsi.org/core/MeteringFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "A function that allows to get data from a meter, such as current meter reading or instantaneous demand"@en . +<https://saref.etsi.org/core/MeteringFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Metering function"@en . +# +# https://saref.etsi.org/core/Motion +<https://saref.etsi.org/core/Motion> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Motion> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Motion> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion"@en . +<https://saref.etsi.org/core/Motion> <http://www.w3.org/2000/01/rdf-schema#label> "Motion"@en . +# +# https://saref.etsi.org/core/MultiLevelState +<https://saref.etsi.org/core/MultiLevelState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/MultiLevelState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/MultiLevelState> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of state"@en . +<https://saref.etsi.org/core/MultiLevelState> <http://www.w3.org/2000/01/rdf-schema#label> "Multi level state"@en . +# +# https://saref.etsi.org/core/NotifyCommand +<https://saref.etsi.org/core/NotifyCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/NotifyCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/NotifyCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid45 . +_:genid45 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid45 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid45 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/EventFunction> . +<https://saref.etsi.org/core/NotifyCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/NotifyCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Notify command"@en . +# +# https://saref.etsi.org/core/Occupancy +<https://saref.etsi.org/core/Occupancy> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Occupancy> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Occupancy> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy"@en . +<https://saref.etsi.org/core/Occupancy> <http://www.w3.org/2000/01/rdf-schema#label> "Occupancy"@en . +# +# https://saref.etsi.org/core/OffCommand +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid46 . +_:genid46 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid46 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid46 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OnOffState> . +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid47 . +_:genid47 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid47 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid47 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/OnOffFunction> . +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/2002/07/owl#disjointWith> <https://saref.etsi.org/core/OnCommand> . +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/OffCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Off command"@en . +# +# https://saref.etsi.org/core/OffState +<https://saref.etsi.org/core/OffState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OffState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/OnOffState> . +<https://saref.etsi.org/core/OffState> <http://www.w3.org/2000/01/rdf-schema#comment> "The state of a device that is Off"@en . +<https://saref.etsi.org/core/OffState> <http://www.w3.org/2000/01/rdf-schema#label> "Off state"@en . +# +# https://saref.etsi.org/core/OnCommand +<https://saref.etsi.org/core/OnCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OnCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/OnCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid48 . +_:genid48 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid48 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid48 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OnOffState> . +<https://saref.etsi.org/core/OnCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid49 . +_:genid49 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid49 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid49 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/OnOffFunction> . +<https://saref.etsi.org/core/OnCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/OnCommand> <http://www.w3.org/2000/01/rdf-schema#label> "On command"@en . +# +# https://saref.etsi.org/core/OnOffFunction +<https://saref.etsi.org/core/OnOffFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OnOffFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/ActuatingFunction> . +<https://saref.etsi.org/core/OnOffFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "An actuating function that allows to switch on and off an actuator"@en . +<https://saref.etsi.org/core/OnOffFunction> <http://www.w3.org/2000/01/rdf-schema#label> "On off function"@en . +# +# https://saref.etsi.org/core/OnOffState +<https://saref.etsi.org/core/OnOffState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OnOffState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/OnOffState> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of state"@en . +<https://saref.etsi.org/core/OnOffState> <http://www.w3.org/2000/01/rdf-schema#label> "On off state"@en . +# +# https://saref.etsi.org/core/OnState +<https://saref.etsi.org/core/OnState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OnState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/OnOffState> . +<https://saref.etsi.org/core/OnState> <http://www.w3.org/2000/01/rdf-schema#comment> "The state of a device that is On"@en . +<https://saref.etsi.org/core/OnState> <http://www.w3.org/2000/01/rdf-schema#label> "On state"@en . +# +# https://saref.etsi.org/core/OpenCloseFunction +<https://saref.etsi.org/core/OpenCloseFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OpenCloseFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/ActuatingFunction> . +<https://saref.etsi.org/core/OpenCloseFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "An actuating function that allows to open and close a device"@en . +<https://saref.etsi.org/core/OpenCloseFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Open close function"@en . +# +# https://saref.etsi.org/core/OpenCloseState +<https://saref.etsi.org/core/OpenCloseState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OpenCloseState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/OpenCloseState> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of state"@en . +<https://saref.etsi.org/core/OpenCloseState> <http://www.w3.org/2000/01/rdf-schema#label> "Open close state"@en . +# +# https://saref.etsi.org/core/OpenCommand +<https://saref.etsi.org/core/OpenCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OpenCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/OpenCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid50 . +_:genid50 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid50 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid50 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OpenCloseState> . +<https://saref.etsi.org/core/OpenCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid51 . +_:genid51 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid51 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid51 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/OpenCloseFunction> . +<https://saref.etsi.org/core/OpenCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/OpenCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Open command"@en . +# +# https://saref.etsi.org/core/OpenState +<https://saref.etsi.org/core/OpenState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/OpenState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/OpenCloseState> . +<https://saref.etsi.org/core/OpenState> <http://www.w3.org/2000/01/rdf-schema#comment> "The state of a device that is OPEN "@en . +<https://saref.etsi.org/core/OpenState> <http://www.w3.org/2000/01/rdf-schema#label> "Open state"@en . +# +# https://saref.etsi.org/core/PauseCommand +<https://saref.etsi.org/core/PauseCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/PauseCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/PauseCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/PauseCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Pause command"@en . +# +# https://saref.etsi.org/core/Power +<https://saref.etsi.org/core/Power> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Power> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Power> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined."@en . +<https://saref.etsi.org/core/Power> <http://www.w3.org/2000/01/rdf-schema#label> "Power"@en . +# +# https://saref.etsi.org/core/PowerUnit +<https://saref.etsi.org/core/PowerUnit> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/PowerUnit> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/PowerUnit> <http://www.w3.org/2000/01/rdf-schema#comment> "The unit of measure for power"@en . +<https://saref.etsi.org/core/PowerUnit> <http://www.w3.org/2000/01/rdf-schema#label> "Power unit"@en . +# +# https://saref.etsi.org/core/Pressure +<https://saref.etsi.org/core/Pressure> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Pressure> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Pressure> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)"@en . +<https://saref.etsi.org/core/Pressure> <http://www.w3.org/2000/01/rdf-schema#label> "Pressure"@en . +# +# https://saref.etsi.org/core/PressureUnit +<https://saref.etsi.org/core/PressureUnit> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/PressureUnit> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/PressureUnit> <http://www.w3.org/2000/01/rdf-schema#comment> "The unit of measure for pressure"@en . +<https://saref.etsi.org/core/PressureUnit> <http://www.w3.org/2000/01/rdf-schema#label> "Pressure unit"@en . +# +# https://saref.etsi.org/core/Price +<https://saref.etsi.org/core/Price> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Price> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Price> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency"@en . +<https://saref.etsi.org/core/Price> <http://www.w3.org/2000/01/rdf-schema#label> "Price"@en . +# +# https://saref.etsi.org/core/Profile +<https://saref.etsi.org/core/Profile> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Profile> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid52 . +_:genid52 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid52 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/consistsOf> . +_:genid52 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Profile> . +<https://saref.etsi.org/core/Profile> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid53 . +_:genid53 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid53 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasPrice> . +_:genid53 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Price> . +<https://saref.etsi.org/core/Profile> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid54 . +_:genid54 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid54 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasTime> . +_:genid54 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Time> . +<https://saref.etsi.org/core/Profile> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid55 . +_:genid55 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid55 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isAbout> . +_:genid55 <http://www.w3.org/2002/07/owl#allValuesFrom> _:genid56 . +_:genid56 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +_:genid56 <http://www.w3.org/2002/07/owl#unionOf> _:genid58 . +_:genid58 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> . +_:genid58 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <https://saref.etsi.org/core/Commodity> . +_:genid58 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid57 . +_:genid57 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#List> . +_:genid57 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <https://saref.etsi.org/core/Property> . +_:genid57 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> . +<https://saref.etsi.org/core/Profile> <http://www.w3.org/2000/01/rdf-schema#comment> "A specification associated to a device to collect information about a certain Property (e.g., Energy) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property (saref:isAbout), can be calculated over a time span (saref:hasTime) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en . +<https://saref.etsi.org/core/Profile> <http://www.w3.org/2000/01/rdf-schema#label> "Profile"@en . +# +# https://saref.etsi.org/core/Property +<https://saref.etsi.org/core/Property> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Property> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid59 . +_:genid59 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid59 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isControlledByDevice> . +_:genid59 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Property> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid60 . +_:genid60 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid60 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isMeasuredByDevice> . +_:genid60 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Property> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid61 . +_:genid61 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid61 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isPropertyOf> . +_:genid61 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/FeatureOfInterest> . +<https://saref.etsi.org/core/Property> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid62 . +_:genid62 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid62 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/relatesToMeasurement> . +_:genid62 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/Property> <http://www.w3.org/2000/01/rdf-schema#comment> "A quality of a feature of interest that can be measured; an aspect of a feature of interest that is intrinsic to and cannot exist without the feature"@en . +<https://saref.etsi.org/core/Property> <http://www.w3.org/2000/01/rdf-schema#label> "Property"@en . +# +# https://saref.etsi.org/core/SensingFunction +<https://saref.etsi.org/core/SensingFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/SensingFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/SensingFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid63 . +_:genid63 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid63 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasSensingRange> . +_:genid63 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/Measurement> . +<https://saref.etsi.org/core/SensingFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid64 . +_:genid64 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid64 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasSensorType> . +_:genid64 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/SensingFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)"@en . +<https://saref.etsi.org/core/SensingFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Sensing function"@en . +# +# https://saref.etsi.org/core/Sensor +<https://saref.etsi.org/core/Sensor> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Sensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Sensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid65 . +_:genid65 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid65 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid65 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/SensingFunction> . +<https://saref.etsi.org/core/Sensor> <http://www.w3.org/2000/01/rdf-schema#comment> "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction."@en . +<https://saref.etsi.org/core/Sensor> <http://www.w3.org/2000/01/rdf-schema#label> "Sensor"@en . +# +# https://saref.etsi.org/core/Service +<https://saref.etsi.org/core/Service> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Service> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid66 . +_:genid66 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid66 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isOfferedBy> . +_:genid66 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid66 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Device> . +<https://saref.etsi.org/core/Service> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid67 . +_:genid67 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid67 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/represents> . +_:genid67 <http://www.w3.org/2002/07/owl#minQualifiedCardinality> "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger> . +_:genid67 <http://www.w3.org/2002/07/owl#onClass> <https://saref.etsi.org/core/Function> . +<https://saref.etsi.org/core/Service> <http://www.w3.org/2000/01/rdf-schema#comment> "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented."@en . +<https://saref.etsi.org/core/Service> <http://www.w3.org/2000/01/rdf-schema#label> "Service"@en . +# +# https://saref.etsi.org/core/SetAbsoluteLevelCommand +<https://saref.etsi.org/core/SetAbsoluteLevelCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/SetAbsoluteLevelCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/SetLevelCommand> . +<https://saref.etsi.org/core/SetAbsoluteLevelCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of set level command"@en . +<https://saref.etsi.org/core/SetAbsoluteLevelCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Set absolute level command"@en . +# +# https://saref.etsi.org/core/SetLevelCommand +<https://saref.etsi.org/core/SetLevelCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/SetLevelCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/SetLevelCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid68 . +_:genid68 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid68 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid68 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/MultiLevelState> . +<https://saref.etsi.org/core/SetLevelCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid69 . +_:genid69 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid69 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid69 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/LevelControlFunction> . +<https://saref.etsi.org/core/SetLevelCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/SetLevelCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Set level command"@en . +# +# https://saref.etsi.org/core/SetRelativeLevelCommand +<https://saref.etsi.org/core/SetRelativeLevelCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/SetRelativeLevelCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/SetLevelCommand> . +<https://saref.etsi.org/core/SetRelativeLevelCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of set level command"@en . +<https://saref.etsi.org/core/SetRelativeLevelCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Set relative level command"@en . +# +# https://saref.etsi.org/core/Smoke +<https://saref.etsi.org/core/Smoke> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Smoke> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Smoke> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke"@en . +<https://saref.etsi.org/core/Smoke> <http://www.w3.org/2000/01/rdf-schema#label> "Smoke"@en . +# +# https://saref.etsi.org/core/SmokeSensor +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Sensor> . +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid70 . +_:genid70 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid70 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid70 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/EventFunction> . +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid71 . +_:genid71 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid71 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid71 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/SensingFunction> . +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid72 . +_:genid72 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid72 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/measuresProperty> . +_:genid72 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/Smoke> . +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/2000/01/rdf-schema#comment> "A sensor that performs the saref:SensingFunction and the saref:EventFunction, and is used for the purpose of sensing a property of type saref:Smoke. A saref:SmokeSensor is typically used to saref:accomplish saref:Safety."@en . +<https://saref.etsi.org/core/SmokeSensor> <http://www.w3.org/2000/01/rdf-schema#label> "Smoke sensor"@en . +# +# https://saref.etsi.org/core/StartCommand +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid73 . +_:genid73 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid73 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid73 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/StartStopState> . +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid74 . +_:genid74 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid74 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid74 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/StartStopFunction> . +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/2002/07/owl#disjointWith> <https://saref.etsi.org/core/StopCommand> . +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/StartCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Start command"@en . +# +# https://saref.etsi.org/core/StartState +<https://saref.etsi.org/core/StartState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StartState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/StartStopState> . +<https://saref.etsi.org/core/StartState> <http://www.w3.org/2000/01/rdf-schema#comment> "The state of a device that is STARTED"@en . +<https://saref.etsi.org/core/StartState> <http://www.w3.org/2000/01/rdf-schema#label> "Start state"@en . +# +# https://saref.etsi.org/core/StartStopFunction +<https://saref.etsi.org/core/StartStopFunction> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StartStopFunction> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/ActuatingFunction> . +<https://saref.etsi.org/core/StartStopFunction> <http://www.w3.org/2000/01/rdf-schema#comment> "An actuating function that allows to start and stop a device"@en . +<https://saref.etsi.org/core/StartStopFunction> <http://www.w3.org/2000/01/rdf-schema#label> "Start stop function"@en . +# +# https://saref.etsi.org/core/StartStopState +<https://saref.etsi.org/core/StartStopState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StartStopState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/State> . +<https://saref.etsi.org/core/StartStopState> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of state"@en . +<https://saref.etsi.org/core/StartStopState> <http://www.w3.org/2000/01/rdf-schema#label> "Start stop state"@en . +# +# https://saref.etsi.org/core/State +<https://saref.etsi.org/core/State> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/State> <http://www.w3.org/2000/01/rdf-schema#comment> "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."@en . +<https://saref.etsi.org/core/State> <http://www.w3.org/2000/01/rdf-schema#label> "State"@en . +# +# https://saref.etsi.org/core/StepDownCommand +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid75 . +_:genid75 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid75 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid75 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/MultiLevelState> . +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid76 . +_:genid76 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid76 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid76 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/LevelControlFunction> . +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/2002/07/owl#disjointWith> <https://saref.etsi.org/core/StepUpCommand> . +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/StepDownCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Step down command"@en . +# +# https://saref.etsi.org/core/StepUpCommand +<https://saref.etsi.org/core/StepUpCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StepUpCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/StepUpCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid77 . +_:genid77 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid77 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid77 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/MultiLevelState> . +<https://saref.etsi.org/core/StepUpCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid78 . +_:genid78 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid78 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid78 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/LevelControlFunction> . +<https://saref.etsi.org/core/StepUpCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/StepUpCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Step up command"@en . +# +# https://saref.etsi.org/core/StopCommand +<https://saref.etsi.org/core/StopCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StopCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/StopCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid79 . +_:genid79 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid79 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/actsUpon> . +_:genid79 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/StartStopState> . +<https://saref.etsi.org/core/StopCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid80 . +_:genid80 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid80 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid80 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/StartStopFunction> . +<https://saref.etsi.org/core/StopCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/StopCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Stop command"@en . +# +# https://saref.etsi.org/core/StopState +<https://saref.etsi.org/core/StopState> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/StopState> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/StartStopState> . +<https://saref.etsi.org/core/StopState> <http://www.w3.org/2000/01/rdf-schema#comment> "The state of a device that is STOPPED"@en . +<https://saref.etsi.org/core/StopState> <http://www.w3.org/2000/01/rdf-schema#label> "Stop state"@en . +# +# https://saref.etsi.org/core/Switch +<https://saref.etsi.org/core/Switch> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Switch> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Actuator> . +<https://saref.etsi.org/core/Switch> <http://www.w3.org/2000/01/rdf-schema#comment> "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction"@en . +<https://saref.etsi.org/core/Switch> <http://www.w3.org/2000/01/rdf-schema#label> "Switch"@en . +# +# https://saref.etsi.org/core/SwitchOnService +<https://saref.etsi.org/core/SwitchOnService> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/SwitchOnService> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Service> . +<https://saref.etsi.org/core/SwitchOnService> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid81 . +_:genid81 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid81 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isOfferedBy> . +_:genid81 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/LightSwitch> . +<https://saref.etsi.org/core/SwitchOnService> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid82 . +_:genid82 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid82 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/represents> . +_:genid82 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/OnOffFunction> . +<https://saref.etsi.org/core/SwitchOnService> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of service that represents an on/off function to the network"@en . +<https://saref.etsi.org/core/SwitchOnService> <http://www.w3.org/2000/01/rdf-schema#label> "Switch on service"@en . +# +# https://saref.etsi.org/core/Task +<https://saref.etsi.org/core/Task> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Task> <http://www.w3.org/2000/01/rdf-schema#comment> "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended. Tasks can be accomplished by devices (saref:isAccomplishedBy)."@en . +<https://saref.etsi.org/core/Task> <http://www.w3.org/2000/01/rdf-schema#label> "Task"@en . +# +# https://saref.etsi.org/core/Temperature +<https://saref.etsi.org/core/Temperature> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Temperature> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Property> . +<https://saref.etsi.org/core/Temperature> <http://www.w3.org/2000/01/rdf-schema#comment> "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"@en . +<https://saref.etsi.org/core/Temperature> <http://www.w3.org/2000/01/rdf-schema#label> "Temperature"@en . +# +# https://saref.etsi.org/core/TemperatureSensor +<https://saref.etsi.org/core/TemperatureSensor> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/TemperatureSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Sensor> . +<https://saref.etsi.org/core/TemperatureSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid83 . +_:genid83 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid83 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/hasFunction> . +_:genid83 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/SensingFunction> . +<https://saref.etsi.org/core/TemperatureSensor> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid84 . +_:genid84 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid84 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/measuresProperty> . +_:genid84 <http://www.w3.org/2002/07/owl#someValuesFrom> <https://saref.etsi.org/core/Temperature> . +<https://saref.etsi.org/core/TemperatureSensor> <http://www.w3.org/2000/01/rdf-schema#comment> "A sensor that is used for the purpose of sensing a property of type saref:Temperature. A saref:TemperatureSensor is typically used to saref:accomplish saref:Comfort."@en . +<https://saref.etsi.org/core/TemperatureSensor> <http://www.w3.org/2000/01/rdf-schema#label> "Temperature sensor"@en . +# +# https://saref.etsi.org/core/TemperatureUnit +<https://saref.etsi.org/core/TemperatureUnit> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/TemperatureUnit> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/UnitOfMeasure> . +<https://saref.etsi.org/core/TemperatureUnit> <http://www.w3.org/2000/01/rdf-schema#comment> "The unit of measure for temperature"@en . +<https://saref.etsi.org/core/TemperatureUnit> <http://www.w3.org/2000/01/rdf-schema#label> "Temperature unit"@en . +# +# https://saref.etsi.org/core/Time +<https://saref.etsi.org/core/Time> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Time> <http://www.w3.org/2000/01/rdf-schema#comment> "A class that allows to specify the time concept."@en . +<https://saref.etsi.org/core/Time> <http://www.w3.org/2000/01/rdf-schema#label> "Time"@en . +# +# https://saref.etsi.org/core/ToggleCommand +<https://saref.etsi.org/core/ToggleCommand> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/ToggleCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Command> . +<https://saref.etsi.org/core/ToggleCommand> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:genid85 . +_:genid85 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . +_:genid85 <http://www.w3.org/2002/07/owl#onProperty> <https://saref.etsi.org/core/isCommandOf> . +_:genid85 <http://www.w3.org/2002/07/owl#allValuesFrom> <https://saref.etsi.org/core/OnOffFunction> . +<https://saref.etsi.org/core/ToggleCommand> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of command"@en . +<https://saref.etsi.org/core/ToggleCommand> <http://www.w3.org/2000/01/rdf-schema#label> "Toggle command"@en . +# +# https://saref.etsi.org/core/UnitOfMeasure +<https://saref.etsi.org/core/UnitOfMeasure> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/UnitOfMeasure> <http://www.w3.org/2000/01/rdf-schema#comment> "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."@en . +<https://saref.etsi.org/core/UnitOfMeasure> <http://www.w3.org/2000/01/rdf-schema#label> "Unit of measure"@en . +# +# https://saref.etsi.org/core/Water +<https://saref.etsi.org/core/Water> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . +<https://saref.etsi.org/core/Water> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <https://saref.etsi.org/core/Commodity> . +<https://saref.etsi.org/core/Water> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of commodity"@en . +<https://saref.etsi.org/core/Water> <http://www.w3.org/2000/01/rdf-schema#label> "Water"@en . +# +# +# +# ################################################################# +# # +# # Individuals +# # +# ################################################################# +# +# +# https://saref.etsi.org/core/Cleaning +<https://saref.etsi.org/core/Cleaning> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Cleaning> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Cleaning> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Cleaning> <http://www.w3.org/2000/01/rdf-schema#label> "Cleaning"@en . +# +# https://saref.etsi.org/core/Comfort +<https://saref.etsi.org/core/Comfort> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Comfort> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Comfort> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Comfort> <http://www.w3.org/2000/01/rdf-schema#label> "Comfort"@en . +# +# https://saref.etsi.org/core/Drying +<https://saref.etsi.org/core/Drying> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Drying> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Drying> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Drying> <http://www.w3.org/2000/01/rdf-schema#label> "Drying"@en . +# +# https://saref.etsi.org/core/EnergyEfficiency +<https://saref.etsi.org/core/EnergyEfficiency> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/EnergyEfficiency> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/EnergyEfficiency> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/EnergyEfficiency> <http://www.w3.org/2000/01/rdf-schema#label> "EnergyEfficiency"@en . +# +# https://saref.etsi.org/core/Entertainment +<https://saref.etsi.org/core/Entertainment> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Entertainment> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Entertainment> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Entertainment> <http://www.w3.org/2000/01/rdf-schema#label> "Entertainment"@en . +# +# https://saref.etsi.org/core/Lighting +<https://saref.etsi.org/core/Lighting> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Lighting> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Lighting> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Lighting> <http://www.w3.org/2000/01/rdf-schema#label> "Lighting"@en . +# +# https://saref.etsi.org/core/MeterReading +<https://saref.etsi.org/core/MeterReading> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/MeterReading> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/MeterReading> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/MeterReading> <http://www.w3.org/2000/01/rdf-schema#label> "Meter reading"@en . +# +# https://saref.etsi.org/core/Safety +<https://saref.etsi.org/core/Safety> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Safety> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Safety> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Safety> <http://www.w3.org/2000/01/rdf-schema#label> "Safety"@en . +# +# https://saref.etsi.org/core/Washing +<https://saref.etsi.org/core/Washing> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/Washing> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/Washing> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/Washing> <http://www.w3.org/2000/01/rdf-schema#label> "Washing"@en . +# +# https://saref.etsi.org/core/WellBeing +<https://saref.etsi.org/core/WellBeing> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual> . +<https://saref.etsi.org/core/WellBeing> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://saref.etsi.org/core/Task> . +<https://saref.etsi.org/core/WellBeing> <http://www.w3.org/2000/01/rdf-schema#comment> "A type of task for which a device is designed"@en . +<https://saref.etsi.org/core/WellBeing> <http://www.w3.org/2000/01/rdf-schema#label> "WellBeing"@en . +# +# Generated by the OWL API (version 5.1.9) https://github.com/owlcs/owlapi/ diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.ttl b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.ttl new file mode 100644 index 0000000000000000000000000000000000000000..e0a0bdb4f14d40b4f678410d73e5aa92e3edabcf --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.ttl @@ -0,0 +1,1374 @@ +@prefix : <https://saref.etsi.org/core/> . +@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 <https://saref.etsi.org/core/> . + +<https://saref.etsi.org/core/> rdf:type owl:Ontology ; + <http://purl.org/dc/terms/contributor> <http://maxime-lefrancois.info/me#> , + <http://www.garcia-castro.com/foaf.rdf#me> , + <https://w3id.org/people/mpoveda/> , + <https://www.linkedin.com/in/lauradaniele> ; + <http://purl.org/dc/terms/description> "The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market."@en ; + <http://purl.org/dc/terms/issued> "2020-02-11"^^xsd:date ; + <http://purl.org/dc/terms/license> <https://forge.etsi.org/etsi-software-license> ; + <http://purl.org/dc/terms/publisher> <https://www.etsi.org/> ; + <http://purl.org/dc/terms/title> "SAREF: the Smart Applications REFerence ontology"@en ; + <http://purl.org/vocab/vann/preferredNamespacePrefix> "saref" ; + <http://purl.org/vocab/vann/preferredNamespaceUri> "https://saref.etsi.org/core/"^^xsd:anyURI ; + rdfs:comment """Information about changes compared to version 1.1.1: + - The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings, including the reuse of the W3C� WGS84 geo positioning vocabulary. + - The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class. + - The information specific for energy efficiency has been moved to the SAREF4ENER extension. For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension. + - The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy). + - The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension, in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property). + - Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed. + - The saref:UnitOfMeasure subclasses use individuals from the OM ontology for unit of measures, but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used. + - The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes. + - The subclasses of saref:Task have been transormed in individuals. + - The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class.""" , + """Information about changes compared to version 2.1.1: + - Added the saref:FeatureOfInterest class and the properties used to relate it to saref:Measurement (saref:hasMeasurement and saref:isMeasurementOf) and to saref:Property (saref:hasProperty and saref:isPropertyOf). + - Added the saref:measurementMadeBy property as inverse of saref:makesMeasurement. + - The saref:relatesToProperty and saref:relatesToMeasurement properties are now inverse of each other. + - The range of saref:hasValue, which was defined as xsd:float, has been removed to support other datatypes for measurements. + - The range of datatype properties, which was defined as xsd:string, has been removed in order to support strings with language tags (rdf:langString). This affects saref:hasDescription, saref:hasManufacturer, saref:hasModel and saref:hasName, which now have implicitly a range of rdfs:Literal. + - The saref:hasName property has been removed and the use of rdfs:label is recommended. + - The saref:hasDescription property has been deprecated and the use of rdfs:comment is recommended. + - Too restrictive restrictions have been removed and in some cases the ontology documentation has been updated to reflect this: a saref:Command having at most one saref:hasDescription; a saref:Task being accomplished by at least one saref:Device; a saref:Device having a typical consumption of only energy or power; a saref:Commodity being measured in units of measure; restrictions on the values of saref:accomplishes that only covered specific use cases; universal restrictions on the saref:actsUpon property have been changed to existential ones; restrictions on the commands that a saref:Function may have, since there could be others not included in the defined enumerations; restrictive documentation of saref:EventFunction and saref:SmokeSensor. + - Bugs have been fixed: some devices (saref:DoorSwitch, saref:EnergyMeter, saref:LigthSwitch, saref:SmokeSensor, and saref:TemperatureSensor) were defined as subclass of a device and at the same time as consisting of such device; a saref:LightSwitch controls light and does not measure light, since it is an actuator; incorrect documentation of saref:OnState and saref:OffState. + - The saref:BuildingRelated, saref:EnergyRelated and saref:FunctionRelated classes have been removed, since the different extensions already classify the device types. + - The instances of the subclasses of saref:Command have been removed, since they represent examples. + - The instances of saref:UnitOfMeasure have been moved to examples. + - The classes related to the SAREF4ENER extension have been removed: saref:Generator, saref:Storage, saref:Load and saref:EnergyMeter. + - Some instances of saref:Device have been moved to examples: saref:WashingMachine, saref:LightingDevice, saref:MicroRenewable, saref:Multimedia, and saref:Network. + - Added domain and range axioms wherever the definition of a property unambiguously identifies the domain or the range of the property. + - The OWL Time ontology is not imported anymore. + - The documentation of some ontology terms has been updated for clarification. + - Language tags have been added to all labels and comments. +""" ; + owl:versionInfo "3.1.1" . + +################################################################# +# Annotation properties +################################################################# + +### http://purl.org/dc/terms/contributor +<http://purl.org/dc/terms/contributor> rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/description +<http://purl.org/dc/terms/description> rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/issued +<http://purl.org/dc/terms/issued> rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/license +<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/publisher +<http://purl.org/dc/terms/publisher> rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/title +<http://purl.org/dc/terms/title> rdf:type owl:AnnotationProperty . + + +### http://purl.org/vocab/vann/preferredNamespacePrefix +<http://purl.org/vocab/vann/preferredNamespacePrefix> rdf:type owl:AnnotationProperty . + + +### http://purl.org/vocab/vann/preferredNamespaceUri +<http://purl.org/vocab/vann/preferredNamespaceUri> rdf:type owl:AnnotationProperty . + + +################################################################# +# Object Properties +################################################################# + +### https://saref.etsi.org/core/accomplishes +:accomplishes rdf:type owl:ObjectProperty ; + owl:inverseOf :isAccomplishedBy ; + rdfs:range :Task ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes"@en ; + rdfs:label "accomplishes"@en . + + +### https://saref.etsi.org/core/actsUpon +:actsUpon rdf:type owl:ObjectProperty ; + rdfs:domain :Command ; + rdfs:range :State ; + rdfs:comment "A relationship between a command and a state"@en ; + rdfs:label "acts upon"@en . + + +### https://saref.etsi.org/core/consistsOf +:consistsOf rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)"@en ; + rdfs:label "consists of"@en . + + +### https://saref.etsi.org/core/controlsProperty +:controlsProperty rdf:type owl:ObjectProperty ; + rdfs:domain :Device ; + rdfs:range :Property ; + rdfs:comment "A relationship specifying the property that can be controlled by a certain device"@en ; + rdfs:label "controls property"@en . + + +### https://saref.etsi.org/core/hasCommand +:hasCommand rdf:type owl:ObjectProperty ; + owl:inverseOf :isCommandOf ; + rdfs:domain :Function ; + rdfs:range :Command ; + rdfs:comment "A relationship between a function and a command"@en ; + rdfs:label "has command"@en . + + +### https://saref.etsi.org/core/hasFunction +:hasFunction rdf:type owl:ObjectProperty ; + rdfs:domain :Device ; + rdfs:range :Function ; + rdfs:comment "A relationship identifying the function of a device"@en ; + rdfs:label "has function"@en . + + +### https://saref.etsi.org/core/hasMeasurement +:hasMeasurement rdf:type owl:ObjectProperty ; + owl:inverseOf :isMeasurementOf ; + rdfs:domain :FeatureOfInterest ; + rdfs:range :Measurement ; + rdfs:comment "A relationship between a feature of interest and a measurement about it"@en ; + rdfs:label "has measurement"@en . + + +### https://saref.etsi.org/core/hasMeterReading +:hasMeterReading rdf:type owl:ObjectProperty ; + rdfs:domain :MeteringFunction ; + rdfs:range :Measurement ; + rdfs:comment "A relationship between a metering function and the measurement of the reading"@en ; + rdfs:label "has meter reading"@en . + + +### https://saref.etsi.org/core/hasMeterReadingType +:hasMeterReadingType rdf:type owl:ObjectProperty ; + rdfs:domain :MeteringFunction ; + rdfs:range :Property ; + rdfs:comment "A relationship identifying the reading type of a metering function (e.g., Water, Gas, Pressure , Energy , Power, etc.)"@en ; + rdfs:label "has meter reading type"@en . + + +### https://saref.etsi.org/core/hasPrice +:hasPrice rdf:type owl:ObjectProperty ; + rdfs:range :Price ; + rdfs:comment "A relationship indentifying the price associated to an entity"@en ; + rdfs:label "has price"@en . + + +### https://saref.etsi.org/core/hasProfile +:hasProfile rdf:type owl:ObjectProperty ; + rdfs:domain :Device ; + rdfs:range :Profile ; + rdfs:comment "A relationship associating a profile to a certain device"@en ; + rdfs:label "has profile"@en . + + +### https://saref.etsi.org/core/hasProperty +:hasProperty rdf:type owl:ObjectProperty ; + owl:inverseOf :isPropertyOf ; + rdfs:domain :FeatureOfInterest ; + rdfs:range :Property ; + rdfs:comment "A relationship between a feature of interest and a property of that feature"@en ; + rdfs:label "has property"@en . + + +### https://saref.etsi.org/core/hasSensingRange +:hasSensingRange rdf:type owl:ObjectProperty ; + rdfs:domain :SensingFunction ; + rdfs:range :Measurement ; + rdfs:comment "A relationship between a sensing function and a measurement identifying the range of a sensor detection"@en ; + rdfs:label "has sensing range"@en . + + +### https://saref.etsi.org/core/hasSensorType +:hasSensorType rdf:type owl:ObjectProperty ; + rdfs:domain :SensingFunction ; + rdfs:range :Property ; + rdfs:comment "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) "@en ; + rdfs:label "has sensor type"@en . + + +### https://saref.etsi.org/core/hasState +:hasState rdf:type owl:ObjectProperty ; + rdfs:domain :Device ; + rdfs:range :State ; + rdfs:comment "A relationship identifying the type of state of a device"@en ; + rdfs:label "has state"@en . + + +### https://saref.etsi.org/core/hasThresholdMeasurement +:hasThresholdMeasurement rdf:type owl:ObjectProperty ; + rdfs:domain :EventFunction ; + rdfs:range :Measurement ; + rdfs:comment "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded"@en ; + rdfs:label "has threshold measurement"@en . + + +### https://saref.etsi.org/core/hasTime +:hasTime rdf:type owl:ObjectProperty ; + rdfs:range :Time ; + rdfs:comment "A relationship to associate time information to an entity"@en ; + rdfs:label "has time"@en . + + +### https://saref.etsi.org/core/hasTypicalConsumption +:hasTypicalConsumption rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device"@en ; + rdfs:label "has typical consumption"@en . + + +### https://saref.etsi.org/core/isAbout +:isAbout rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying what an entity, such as a profile, is about"@en ; + rdfs:label "isAbout"@en . + + +### https://saref.etsi.org/core/isAccomplishedBy +:isAccomplishedBy rdf:type owl:ObjectProperty ; + rdfs:domain :Task ; + rdfs:comment "A relationship identifying an entity (e.g., a device) that can accomplish a task."@en ; + rdfs:label "is accomplished by"@en . + + +### https://saref.etsi.org/core/isCommandOf +:isCommandOf rdf:type owl:ObjectProperty ; + rdfs:domain :Command ; + rdfs:range :Function ; + rdfs:comment "A relationship between a command and a function."@en ; + rdfs:label "is command of"@en . + + +### https://saref.etsi.org/core/isControlledByDevice +:isControlledByDevice rdf:type owl:ObjectProperty ; + rdfs:domain :Property ; + rdfs:range :Device ; + rdfs:comment "A relationship specifying the devices that can control a certain property"@en ; + rdfs:label "is controlled by device"@en . + + +### https://saref.etsi.org/core/isMeasuredByDevice +:isMeasuredByDevice rdf:type owl:ObjectProperty ; + rdfs:domain :Property ; + rdfs:range :Device ; + rdfs:comment "A relationship specifying the devices that can measure a certain property"@en ; + rdfs:label "is measured by device"@en . + + +### https://saref.etsi.org/core/isMeasuredIn +:isMeasuredIn rdf:type owl:ObjectProperty ; + rdfs:domain :Measurement ; + rdfs:range :UnitOfMeasure ; + rdfs:comment "A relationship identifying the unit of measure used for a certain entity."@en ; + rdfs:label "is measured in"@en . + + +### https://saref.etsi.org/core/isMeasurementOf +:isMeasurementOf rdf:type owl:ObjectProperty ; + rdfs:domain :Measurement ; + rdfs:range :FeatureOfInterest ; + rdfs:comment "A relationship between a measurement and the feature of interest whose quality was measured"@en ; + rdfs:label "isMeasurementOf"@en . + + +### https://saref.etsi.org/core/isOfferedBy +:isOfferedBy rdf:type owl:ObjectProperty ; + owl:inverseOf :offers ; + rdfs:domain :Service ; + rdfs:range :Device ; + rdfs:comment "A relationship between a service and a device that offers the service"@en ; + rdfs:label "is offered by"@en . + + +### https://saref.etsi.org/core/isPropertyOf +:isPropertyOf rdf:type owl:ObjectProperty ; + rdfs:domain :Property ; + rdfs:range :FeatureOfInterest ; + rdfs:comment "A relationship between a property and the feature of interest it belongs to"@en ; + rdfs:label "is property of"@en . + + +### https://saref.etsi.org/core/isUsedFor +:isUsedFor rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the commodity for which a device is used for"@en ; + rdfs:label "is used for"@en . + + +### https://saref.etsi.org/core/makesMeasurement +:makesMeasurement rdf:type owl:ObjectProperty ; + owl:inverseOf :measurementMadeBy ; + rdfs:domain :Device ; + rdfs:range :Measurement ; + rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:label "makes measurement"@en . + + +### https://saref.etsi.org/core/measurementMadeBy +:measurementMadeBy rdf:type owl:ObjectProperty ; + rdfs:domain :Measurement ; + rdfs:range :Device ; + rdfs:comment "A relation between a measurement and the device that made it."@en ; + rdfs:label "measurement made by"@en . + + +### https://saref.etsi.org/core/measuresProperty +:measuresProperty rdf:type owl:ObjectProperty ; + rdfs:domain :Device ; + rdfs:range :Property ; + rdfs:comment "A relationship specifying the property that can be measured by a certain device"@en ; + rdfs:label "measures property"@en . + + +### https://saref.etsi.org/core/offers +:offers rdf:type owl:ObjectProperty ; + rdfs:domain :Device ; + rdfs:range :Service ; + rdfs:comment "A relationship between a device and a service"@en ; + rdfs:label "offers"@en . + + +### https://saref.etsi.org/core/relatesToMeasurement +:relatesToMeasurement rdf:type owl:ObjectProperty ; + owl:inverseOf :relatesToProperty ; + rdfs:domain :Property ; + rdfs:range :Measurement ; + rdfs:comment "A relationship between a property and the measurements it relates to"@en ; + rdfs:label "relates to measurement"@en . + + +### https://saref.etsi.org/core/relatesToProperty +:relatesToProperty rdf:type owl:ObjectProperty ; + rdfs:domain :Measurement ; + rdfs:range :Property ; + rdfs:comment "A relationship between a measurement and the property it relates to"@en ; + rdfs:label "relates to property"@en . + + +### https://saref.etsi.org/core/represents +:represents rdf:type owl:ObjectProperty ; + rdfs:domain :Service ; + rdfs:range :Function ; + rdfs:comment "A relationship between a service and a function."@en ; + rdfs:label "represents"@en . + + +################################################################# +# Data properties +################################################################# + +### https://saref.etsi.org/core/hasDescription +:hasDescription rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en , + "DEPRECATED: The use of rdfs:comment is recommended instead."@en ; + rdfs:label "has description"@en ; + owl:deprecated "true"^^xsd:boolean . + + +### https://saref.etsi.org/core/hasManufacturer +:hasManufacturer rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en ; + rdfs:label "has manufacturer"@en . + + +### https://saref.etsi.org/core/hasModel +:hasModel rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag."@en ; + rdfs:label "has model"@en . + + +### https://saref.etsi.org/core/hasTimestamp +:hasTimestamp rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:label "has timestamp"@en . + + +### https://saref.etsi.org/core/hasValue +:hasValue rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power. Note that, even if numeric values are expected to enable reasoning, measurement values could use other datatypes."@en ; + rdfs:label "has value"@en . + + +################################################################# +# Classes +################################################################# + +### https://saref.etsi.org/core/ActuatingFunction +:ActuatingFunction rdf:type owl:Class ; + rdfs:subClassOf :Function ; + rdfs:comment "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)"@en ; + rdfs:label "Actuating function"@en . + + +### https://saref.etsi.org/core/Actuator +:Actuator rdf:type owl:Class ; + rdfs:subClassOf :Device , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :ActuatingFunction + ] ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system by performing an actuating function"@en ; + rdfs:label "Actuator"@en . + + +### https://saref.etsi.org/core/Appliance +:Appliance rdf:type owl:Class ; + rdfs:subClassOf :Device ; + rdfs:comment "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking"@en ; + rdfs:label "Appliance"@en . + + +### https://saref.etsi.org/core/CloseCommand +:CloseCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :OpenCloseState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :OpenCloseFunction + ] ; + owl:disjointWith :OpenCommand ; + rdfs:comment "A type of command"@en ; + rdfs:label "Close command"@en . + + +### https://saref.etsi.org/core/CloseState +:CloseState rdf:type owl:Class ; + rdfs:subClassOf :OpenCloseState ; + rdfs:comment "The state of a device that is CLOSE"@en ; + rdfs:label "Close state"@en . + + +### https://saref.etsi.org/core/Coal +:Coal rdf:type owl:Class ; + rdfs:subClassOf :Commodity ; + rdfs:comment "A type of commodity"@en ; + rdfs:label "Coal"@en . + + +### https://saref.etsi.org/core/Command +:Command rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:allValuesFrom :State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Function + ] ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended."@en ; + rdfs:label "Command"@en . + + +### https://saref.etsi.org/core/Commodity +:Commodity rdf:type owl:Class ; + rdfs:comment "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. "@en ; + rdfs:label "Commodity"@en . + + +### https://saref.etsi.org/core/Currency +:Currency rdf:type owl:Class ; + rdfs:subClassOf :UnitOfMeasure ; + rdfs:comment "The class of units of measure for price"@en ; + rdfs:label "Currency"@en . + + +### https://saref.etsi.org/core/Device +:Device rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :consistsOf ; + owl:allValuesFrom :Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :controlsProperty ; + owl:allValuesFrom :Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasProfile ; + owl:allValuesFrom :Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasState ; + owl:allValuesFrom :State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isUsedFor ; + owl:allValuesFrom :Commodity + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :makesMeasurement ; + owl:allValuesFrom :Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :measuresProperty ; + owl:allValuesFrom :Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :offers ; + owl:allValuesFrom :Service + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :accomplishes ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Task + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Function + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasManufacturer ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasModel ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:comment "A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function."@en ; + rdfs:label "Device"@en . + + +### https://saref.etsi.org/core/DoorSwitch +:DoorSwitch rdf:type owl:Class ; + rdfs:subClassOf :Switch , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :OpenCloseFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasState ; + owl:someValuesFrom :OpenCloseState + ] ; + rdfs:comment "A switch that performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState. A saref:DoorSwitch is typically used to accomplish saref:Safety."@en ; + rdfs:label "Door switch"@en . + + +### https://saref.etsi.org/core/Electricity +:Electricity rdf:type owl:Class ; + rdfs:subClassOf :Commodity ; + rdfs:comment "A type of commodity"@en ; + rdfs:label "Electricity"@en . + + +### https://saref.etsi.org/core/Energy +:Energy rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. "@en ; + rdfs:label "Energy"@en . + + +### https://saref.etsi.org/core/EnergyUnit +:EnergyUnit rdf:type owl:Class ; + rdfs:subClassOf :UnitOfMeasure ; + rdfs:comment "The unit of measure for energy"@en ; + rdfs:label "Energy unit"@en . + + +### https://saref.etsi.org/core/EventFunction +:EventFunction rdf:type owl:Class ; + rdfs:subClassOf :Function , + [ rdf:type owl:Restriction ; + owl:onProperty :hasThresholdMeasurement ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Measurement + ] ; + rdfs:comment "A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved."@en ; + rdfs:label "Event function"@en . + + +### https://saref.etsi.org/core/FeatureOfInterest +:FeatureOfInterest rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :hasMeasurement ; + owl:allValuesFrom :Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasProperty ; + owl:allValuesFrom :Property + ] ; + rdfs:comment "A feature of interest represents any real world entity from which a property is measured."@en ; + rdfs:label "Feature of interest"@en . + + +### https://saref.etsi.org/core/Function +:Function rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :hasCommand ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Command + ] ; + rdfs:comment "The functionality necessary to accomplish the task for which a device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. "@en ; + rdfs:label "Function"@en . + + +### https://saref.etsi.org/core/Gas +:Gas rdf:type owl:Class ; + rdfs:subClassOf :Commodity ; + rdfs:comment "A type of commodity"@en ; + rdfs:label "Gas"@en . + + +### https://saref.etsi.org/core/GetCommand +:GetCommand rdf:type owl:Class ; + rdfs:subClassOf :Command ; + rdfs:comment "A type of command"@en ; + rdfs:label "Get command"@en . + + +### https://saref.etsi.org/core/GetCurrentMeterValueCommand +:GetCurrentMeterValueCommand rdf:type owl:Class ; + rdfs:subClassOf :GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :MeteringFunction + ] ; + rdfs:comment "A type of get command"@en ; + rdfs:label "Get current meter value command"@en . + + +### https://saref.etsi.org/core/GetMeterDataCommand +:GetMeterDataCommand rdf:type owl:Class ; + rdfs:subClassOf :GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :MeteringFunction + ] ; + rdfs:comment "A type of get command"@en ; + rdfs:label "Get meter data command"@en . + + +### https://saref.etsi.org/core/GetMeterHistoryCommand +:GetMeterHistoryCommand rdf:type owl:Class ; + rdfs:subClassOf :GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :MeteringFunction + ] ; + rdfs:comment "A type of get command"@en ; + rdfs:label "Get meter history command"@en . + + +### https://saref.etsi.org/core/GetSensingDataCommand +:GetSensingDataCommand rdf:type owl:Class ; + rdfs:subClassOf :GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :SensingFunction + ] ; + rdfs:comment "A type of get command"@en ; + rdfs:label "Get sensing data command"@en . + + +### https://saref.etsi.org/core/HVAC +:HVAC rdf:type owl:Class ; + rdfs:subClassOf :Device ; + rdfs:comment "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort. A saref:HVAC is typically used to accomplish saref:Comfort."@en ; + rdfs:label "HVAC"@en . + + +### https://saref.etsi.org/core/Humidity +:Humidity rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"@en ; + rdfs:label "Humidity"@en . + + +### https://saref.etsi.org/core/IlluminanceUnit +:IlluminanceUnit rdf:type owl:Class ; + rdfs:subClassOf :UnitOfMeasure ; + rdfs:comment "The unit of measure for light"@en ; + rdfs:label "Illuminance unit"@en . + + +### https://saref.etsi.org/core/LevelControlFunction +:LevelControlFunction rdf:type owl:Class ; + rdfs:subClassOf :ActuatingFunction ; + rdfs:comment "An actuating function that allows to do level adjustments of a property in a certain range (e.g., 0%-100%), such as dimming a light in a room or setting the speed of an electric motor. "@en ; + rdfs:label "Level control function"@en . + + +### https://saref.etsi.org/core/Light +:Light rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)"@en ; + rdfs:label "Light"@en . + + +### https://saref.etsi.org/core/LightSwitch +:LightSwitch rdf:type owl:Class ; + rdfs:subClassOf :Switch , + [ rdf:type owl:Restriction ; + owl:onProperty :controlsProperty ; + owl:someValuesFrom :Light + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :OnOffFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasState ; + owl:someValuesFrom :OnOffState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :offers ; + owl:someValuesFrom :SwitchOnService + ] ; + rdfs:comment "A switch that performs the saref:OnOffFunction, controls the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service. A saref:LightSwitch is typically used to accomplish saref:Lighting."@en ; + rdfs:label "Light switch"@en . + + +### https://saref.etsi.org/core/Measurement +:Measurement rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :isMeasuredIn ; + owl:allValuesFrom :UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isMeasurementOf ; + owl:allValuesFrom :FeatureOfInterest + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :relatesToProperty ; + owl:allValuesFrom :Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasTimestamp ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en . + + +### https://saref.etsi.org/core/Meter +:Meter rdf:type owl:Class ; + rdfs:subClassOf :Device , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :MeteringFunction + ] ; + rdfs:comment "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction."@en ; + rdfs:label "Meter"@en . + + +### https://saref.etsi.org/core/MeteringFunction +:MeteringFunction rdf:type owl:Class ; + rdfs:subClassOf :Function , + [ rdf:type owl:Restriction ; + owl:onProperty :hasMeterReading ; + owl:allValuesFrom :Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasMeterReadingType ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( :Commodity + :Property + ) + ] + ] ; + rdfs:comment "A function that allows to get data from a meter, such as current meter reading or instantaneous demand"@en ; + rdfs:label "Metering function"@en . + + +### https://saref.etsi.org/core/Motion +:Motion rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion"@en ; + rdfs:label "Motion"@en . + + +### https://saref.etsi.org/core/MultiLevelState +:MultiLevelState rdf:type owl:Class ; + rdfs:subClassOf :State ; + rdfs:comment "A type of state"@en ; + rdfs:label "Multi level state"@en . + + +### https://saref.etsi.org/core/NotifyCommand +:NotifyCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :EventFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "Notify command"@en . + + +### https://saref.etsi.org/core/Occupancy +:Occupancy rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy"@en ; + rdfs:label "Occupancy"@en . + + +### https://saref.etsi.org/core/OffCommand +:OffCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :OnOffState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :OnOffFunction + ] ; + owl:disjointWith :OnCommand ; + rdfs:comment "A type of command"@en ; + rdfs:label "Off command"@en . + + +### https://saref.etsi.org/core/OffState +:OffState rdf:type owl:Class ; + rdfs:subClassOf :OnOffState ; + rdfs:comment "The state of a device that is Off"@en ; + rdfs:label "Off state"@en . + + +### https://saref.etsi.org/core/OnCommand +:OnCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :OnOffState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :OnOffFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "On command"@en . + + +### https://saref.etsi.org/core/OnOffFunction +:OnOffFunction rdf:type owl:Class ; + rdfs:subClassOf :ActuatingFunction ; + rdfs:comment "An actuating function that allows to switch on and off an actuator"@en ; + rdfs:label "On off function"@en . + + +### https://saref.etsi.org/core/OnOffState +:OnOffState rdf:type owl:Class ; + rdfs:subClassOf :State ; + rdfs:comment "A type of state"@en ; + rdfs:label "On off state"@en . + + +### https://saref.etsi.org/core/OnState +:OnState rdf:type owl:Class ; + rdfs:subClassOf :OnOffState ; + rdfs:comment "The state of a device that is On"@en ; + rdfs:label "On state"@en . + + +### https://saref.etsi.org/core/OpenCloseFunction +:OpenCloseFunction rdf:type owl:Class ; + rdfs:subClassOf :ActuatingFunction ; + rdfs:comment "An actuating function that allows to open and close a device"@en ; + rdfs:label "Open close function"@en . + + +### https://saref.etsi.org/core/OpenCloseState +:OpenCloseState rdf:type owl:Class ; + rdfs:subClassOf :State ; + rdfs:comment "A type of state"@en ; + rdfs:label "Open close state"@en . + + +### https://saref.etsi.org/core/OpenCommand +:OpenCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :OpenCloseState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :OpenCloseFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "Open command"@en . + + +### https://saref.etsi.org/core/OpenState +:OpenState rdf:type owl:Class ; + rdfs:subClassOf :OpenCloseState ; + rdfs:comment "The state of a device that is OPEN "@en ; + rdfs:label "Open state"@en . + + +### https://saref.etsi.org/core/PauseCommand +:PauseCommand rdf:type owl:Class ; + rdfs:subClassOf :Command ; + rdfs:comment "A type of command"@en ; + rdfs:label "Pause command"@en . + + +### https://saref.etsi.org/core/Power +:Power rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined."@en ; + rdfs:label "Power"@en . + + +### https://saref.etsi.org/core/PowerUnit +:PowerUnit rdf:type owl:Class ; + rdfs:subClassOf :UnitOfMeasure ; + rdfs:comment "The unit of measure for power"@en ; + rdfs:label "Power unit"@en . + + +### https://saref.etsi.org/core/Pressure +:Pressure rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)"@en ; + rdfs:label "Pressure"@en . + + +### https://saref.etsi.org/core/PressureUnit +:PressureUnit rdf:type owl:Class ; + rdfs:subClassOf :UnitOfMeasure ; + rdfs:comment "The unit of measure for pressure"@en ; + rdfs:label "Pressure unit"@en . + + +### https://saref.etsi.org/core/Price +:Price rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency"@en ; + rdfs:label "Price"@en . + + +### https://saref.etsi.org/core/Profile +:Profile rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :consistsOf ; + owl:allValuesFrom :Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasPrice ; + owl:allValuesFrom :Price + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasTime ; + owl:allValuesFrom :Time + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isAbout ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( :Commodity + :Property + ) + ] + ] ; + rdfs:comment "A specification associated to a device to collect information about a certain Property (e.g., Energy) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property (saref:isAbout), can be calculated over a time span (saref:hasTime) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en ; + rdfs:label "Profile"@en . + + +### https://saref.etsi.org/core/Property +:Property rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :isControlledByDevice ; + owl:allValuesFrom :Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isMeasuredByDevice ; + owl:allValuesFrom :Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isPropertyOf ; + owl:allValuesFrom :FeatureOfInterest + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :relatesToMeasurement ; + owl:allValuesFrom :Measurement + ] ; + rdfs:comment "A quality of a feature of interest that can be measured; an aspect of a feature of interest that is intrinsic to and cannot exist without the feature"@en ; + rdfs:label "Property"@en . + + +### https://saref.etsi.org/core/SensingFunction +:SensingFunction rdf:type owl:Class ; + rdfs:subClassOf :Function , + [ rdf:type owl:Restriction ; + owl:onProperty :hasSensingRange ; + owl:someValuesFrom :Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasSensorType ; + owl:allValuesFrom :Property + ] ; + rdfs:comment "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)"@en ; + rdfs:label "Sensing function"@en . + + +### https://saref.etsi.org/core/Sensor +:Sensor rdf:type owl:Class ; + rdfs:subClassOf :Device , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :SensingFunction + ] ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction."@en ; + rdfs:label "Sensor"@en . + + +### https://saref.etsi.org/core/Service +:Service rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty :isOfferedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :represents ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass :Function + ] ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented."@en ; + rdfs:label "Service"@en . + + +### https://saref.etsi.org/core/SetAbsoluteLevelCommand +:SetAbsoluteLevelCommand rdf:type owl:Class ; + rdfs:subClassOf :SetLevelCommand ; + rdfs:comment "A type of set level command"@en ; + rdfs:label "Set absolute level command"@en . + + +### https://saref.etsi.org/core/SetLevelCommand +:SetLevelCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :MultiLevelState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :LevelControlFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "Set level command"@en . + + +### https://saref.etsi.org/core/SetRelativeLevelCommand +:SetRelativeLevelCommand rdf:type owl:Class ; + rdfs:subClassOf :SetLevelCommand ; + rdfs:comment "A type of set level command"@en ; + rdfs:label "Set relative level command"@en . + + +### https://saref.etsi.org/core/Smoke +:Smoke rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke"@en ; + rdfs:label "Smoke"@en . + + +### https://saref.etsi.org/core/SmokeSensor +:SmokeSensor rdf:type owl:Class ; + rdfs:subClassOf :Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :EventFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :SensingFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :measuresProperty ; + owl:someValuesFrom :Smoke + ] ; + rdfs:comment "A sensor that performs the saref:SensingFunction and the saref:EventFunction, and is used for the purpose of sensing a property of type saref:Smoke. A saref:SmokeSensor is typically used to saref:accomplish saref:Safety."@en ; + rdfs:label "Smoke sensor"@en . + + +### https://saref.etsi.org/core/StartCommand +:StartCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :StartStopState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :StartStopFunction + ] ; + owl:disjointWith :StopCommand ; + rdfs:comment "A type of command"@en ; + rdfs:label "Start command"@en . + + +### https://saref.etsi.org/core/StartState +:StartState rdf:type owl:Class ; + rdfs:subClassOf :StartStopState ; + rdfs:comment "The state of a device that is STARTED"@en ; + rdfs:label "Start state"@en . + + +### https://saref.etsi.org/core/StartStopFunction +:StartStopFunction rdf:type owl:Class ; + rdfs:subClassOf :ActuatingFunction ; + rdfs:comment "An actuating function that allows to start and stop a device"@en ; + rdfs:label "Start stop function"@en . + + +### https://saref.etsi.org/core/StartStopState +:StartStopState rdf:type owl:Class ; + rdfs:subClassOf :State ; + rdfs:comment "A type of state"@en ; + rdfs:label "Start stop state"@en . + + +### https://saref.etsi.org/core/State +:State rdf:type owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."@en ; + rdfs:label "State"@en . + + +### https://saref.etsi.org/core/StepDownCommand +:StepDownCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :MultiLevelState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :LevelControlFunction + ] ; + owl:disjointWith :StepUpCommand ; + rdfs:comment "A type of command"@en ; + rdfs:label "Step down command"@en . + + +### https://saref.etsi.org/core/StepUpCommand +:StepUpCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :MultiLevelState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :LevelControlFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "Step up command"@en . + + +### https://saref.etsi.org/core/StopCommand +:StopCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :actsUpon ; + owl:someValuesFrom :StartStopState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :StartStopFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "Stop command"@en . + + +### https://saref.etsi.org/core/StopState +:StopState rdf:type owl:Class ; + rdfs:subClassOf :StartStopState ; + rdfs:comment "The state of a device that is STOPPED"@en ; + rdfs:label "Stop state"@en . + + +### https://saref.etsi.org/core/Switch +:Switch rdf:type owl:Class ; + rdfs:subClassOf :Actuator ; + rdfs:comment "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction"@en ; + rdfs:label "Switch"@en . + + +### https://saref.etsi.org/core/SwitchOnService +:SwitchOnService rdf:type owl:Class ; + rdfs:subClassOf :Service , + [ rdf:type owl:Restriction ; + owl:onProperty :isOfferedBy ; + owl:someValuesFrom :LightSwitch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :represents ; + owl:someValuesFrom :OnOffFunction + ] ; + rdfs:comment "A type of service that represents an on/off function to the network"@en ; + rdfs:label "Switch on service"@en . + + +### https://saref.etsi.org/core/Task +:Task rdf:type owl:Class ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended. Tasks can be accomplished by devices (saref:isAccomplishedBy)."@en ; + rdfs:label "Task"@en . + + +### https://saref.etsi.org/core/Temperature +:Temperature rdf:type owl:Class ; + rdfs:subClassOf :Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"@en ; + rdfs:label "Temperature"@en . + + +### https://saref.etsi.org/core/TemperatureSensor +:TemperatureSensor rdf:type owl:Class ; + rdfs:subClassOf :Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty :hasFunction ; + owl:someValuesFrom :SensingFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty :measuresProperty ; + owl:someValuesFrom :Temperature + ] ; + rdfs:comment "A sensor that is used for the purpose of sensing a property of type saref:Temperature. A saref:TemperatureSensor is typically used to saref:accomplish saref:Comfort."@en ; + rdfs:label "Temperature sensor"@en . + + +### https://saref.etsi.org/core/TemperatureUnit +:TemperatureUnit rdf:type owl:Class ; + rdfs:subClassOf :UnitOfMeasure ; + rdfs:comment "The unit of measure for temperature"@en ; + rdfs:label "Temperature unit"@en . + + +### https://saref.etsi.org/core/Time +:Time rdf:type owl:Class ; + rdfs:comment "A class that allows to specify the time concept."@en ; + rdfs:label "Time"@en . + + +### https://saref.etsi.org/core/ToggleCommand +:ToggleCommand rdf:type owl:Class ; + rdfs:subClassOf :Command , + [ rdf:type owl:Restriction ; + owl:onProperty :isCommandOf ; + owl:allValuesFrom :OnOffFunction + ] ; + rdfs:comment "A type of command"@en ; + rdfs:label "Toggle command"@en . + + +### https://saref.etsi.org/core/UnitOfMeasure +:UnitOfMeasure rdf:type owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."@en ; + rdfs:label "Unit of measure"@en . + + +### https://saref.etsi.org/core/Water +:Water rdf:type owl:Class ; + rdfs:subClassOf :Commodity ; + rdfs:comment "A type of commodity"@en ; + rdfs:label "Water"@en . + + +################################################################# +# Individuals +################################################################# + +### https://saref.etsi.org/core/Cleaning +:Cleaning rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Cleaning"@en . + + +### https://saref.etsi.org/core/Comfort +:Comfort rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Comfort"@en . + + +### https://saref.etsi.org/core/Drying +:Drying rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Drying"@en . + + +### https://saref.etsi.org/core/EnergyEfficiency +:EnergyEfficiency rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "EnergyEfficiency"@en . + + +### https://saref.etsi.org/core/Entertainment +:Entertainment rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Entertainment"@en . + + +### https://saref.etsi.org/core/Lighting +:Lighting rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Lighting"@en . + + +### https://saref.etsi.org/core/MeterReading +:MeterReading rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Meter reading"@en . + + +### https://saref.etsi.org/core/Safety +:Safety rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Safety"@en . + + +### https://saref.etsi.org/core/Washing +:Washing rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "Washing"@en . + + +### https://saref.etsi.org/core/WellBeing +:WellBeing rdf:type owl:NamedIndividual , + :Task ; + rdfs:comment "A type of task for which a device is designed"@en ; + rdfs:label "WellBeing"@en . + + +### Generated by the OWL API (version 5.1.9) https://github.com/owlcs/owlapi/ diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.xml b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.xml new file mode 100644 index 0000000000000000000000000000000000000000..4d257b5eeeef88a037a761b5376640504ca02350 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/core.xml @@ -0,0 +1,2134 @@ +<?xml version="1.0"?> +<rdf:RDF xmlns="https://saref.etsi.org/core/" + xml:base="https://saref.etsi.org/core/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:xml="http://www.w3.org/XML/1998/namespace" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:terms="http://purl.org/dc/terms/"> + <owl:Ontology rdf:about="https://saref.etsi.org/core/"> + <terms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <terms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <terms:contributor rdf:resource="https://w3id.org/people/mpoveda/"/> + <terms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <terms:description xml:lang="en">The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market.</terms:description> + <terms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2020-02-11</terms:issued> + <terms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <terms:publisher rdf:resource="https://www.etsi.org/"/> + <terms:title xml:lang="en">SAREF: the Smart Applications REFerence ontology</terms:title> + <vann:preferredNamespacePrefix>saref</vann:preferredNamespacePrefix> + <vann:preferredNamespaceUri rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://saref.etsi.org/core/</vann:preferredNamespaceUri> + <rdfs:comment>Information about changes compared to version 1.1.1: + - The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings, including the reuse of the W3C� WGS84 geo positioning vocabulary. + - The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class. + - The information specific for energy efficiency has been moved to the SAREF4ENER extension. For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension. + - The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy). + - The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension, in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property). + - Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed. + - The saref:UnitOfMeasure subclasses use individuals from the OM ontology for unit of measures, but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used. + - The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes. + - The subclasses of saref:Task have been transormed in individuals. + - The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class.</rdfs:comment> + <rdfs:comment>Information about changes compared to version 2.1.1: + - Added the saref:FeatureOfInterest class and the properties used to relate it to saref:Measurement (saref:hasMeasurement and saref:isMeasurementOf) and to saref:Property (saref:hasProperty and saref:isPropertyOf). + - Added the saref:measurementMadeBy property as inverse of saref:makesMeasurement. + - The saref:relatesToProperty and saref:relatesToMeasurement properties are now inverse of each other. + - The range of saref:hasValue, which was defined as xsd:float, has been removed to support other datatypes for measurements. + - The range of datatype properties, which was defined as xsd:string, has been removed in order to support strings with language tags (rdf:langString). This affects saref:hasDescription, saref:hasManufacturer, saref:hasModel and saref:hasName, which now have implicitly a range of rdfs:Literal. + - The saref:hasName property has been removed and the use of rdfs:label is recommended. + - The saref:hasDescription property has been deprecated and the use of rdfs:comment is recommended. + - Too restrictive restrictions have been removed and in some cases the ontology documentation has been updated to reflect this: a saref:Command having at most one saref:hasDescription; a saref:Task being accomplished by at least one saref:Device; a saref:Device having a typical consumption of only energy or power; a saref:Commodity being measured in units of measure; restrictions on the values of saref:accomplishes that only covered specific use cases; universal restrictions on the saref:actsUpon property have been changed to existential ones; restrictions on the commands that a saref:Function may have, since there could be others not included in the defined enumerations; restrictive documentation of saref:EventFunction and saref:SmokeSensor. + - Bugs have been fixed: some devices (saref:DoorSwitch, saref:EnergyMeter, saref:LigthSwitch, saref:SmokeSensor, and saref:TemperatureSensor) were defined as subclass of a device and at the same time as consisting of such device; a saref:LightSwitch controls light and does not measure light, since it is an actuator; incorrect documentation of saref:OnState and saref:OffState. + - The saref:BuildingRelated, saref:EnergyRelated and saref:FunctionRelated classes have been removed, since the different extensions already classify the device types. + - The instances of the subclasses of saref:Command have been removed, since they represent examples. + - The instances of saref:UnitOfMeasure have been moved to examples. + - The classes related to the SAREF4ENER extension have been removed: saref:Generator, saref:Storage, saref:Load and saref:EnergyMeter. + - Some instances of saref:Device have been moved to examples: saref:WashingMachine, saref:LightingDevice, saref:MicroRenewable, saref:Multimedia, and saref:Network. + - Added domain and range axioms wherever the definition of a property unambiguously identifies the domain or the range of the property. + - The OWL Time ontology is not imported anymore. + - The documentation of some ontology terms has been updated for clarification. + - Language tags have been added to all labels and comments. +</rdfs:comment> + <owl:versionInfo>3.1.1</owl:versionInfo> + </owl:Ontology> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Annotation properties + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + + <!-- http://purl.org/dc/terms/contributor --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/contributor"/> + + + + <!-- http://purl.org/dc/terms/description --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + + + + <!-- http://purl.org/dc/terms/issued --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/issued"/> + + + + <!-- http://purl.org/dc/terms/license --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license"/> + + + + <!-- http://purl.org/dc/terms/publisher --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/publisher"/> + + + + <!-- http://purl.org/dc/terms/title --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> + + + + <!-- http://purl.org/vocab/vann/preferredNamespacePrefix --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + + + + <!-- http://purl.org/vocab/vann/preferredNamespaceUri --> + + + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Object Properties + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + + <!-- https://saref.etsi.org/core/accomplishes --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/accomplishes"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/isAccomplishedBy"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A relationship between a certain entity (e.g., a device) and the task it accomplishes</rdfs:comment> + <rdfs:label xml:lang="en">accomplishes</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/actsUpon --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/actsUpon"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/State"/> + <rdfs:comment xml:lang="en">A relationship between a command and a state</rdfs:comment> + <rdfs:label xml:lang="en">acts upon</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/consistsOf --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/consistsOf"> + <rdfs:comment xml:lang="en">A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)</rdfs:comment> + <rdfs:label xml:lang="en">consists of</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/controlsProperty --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/controlsProperty"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A relationship specifying the property that can be controlled by a certain device</rdfs:comment> + <rdfs:label xml:lang="en">controls property</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasCommand --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasCommand"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:comment xml:lang="en">A relationship between a function and a command</rdfs:comment> + <rdfs:label xml:lang="en">has command</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasFunction --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasFunction"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:comment xml:lang="en">A relationship identifying the function of a device</rdfs:comment> + <rdfs:label xml:lang="en">has function</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasMeasurement --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasMeasurement"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/isMeasurementOf"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/FeatureOfInterest"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:comment xml:lang="en">A relationship between a feature of interest and a measurement about it</rdfs:comment> + <rdfs:label xml:lang="en">has measurement</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasMeterReading --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasMeterReading"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/MeteringFunction"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:comment xml:lang="en">A relationship between a metering function and the measurement of the reading</rdfs:comment> + <rdfs:label xml:lang="en">has meter reading</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasMeterReadingType --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasMeterReadingType"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/MeteringFunction"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A relationship identifying the reading type of a metering function (e.g., Water, Gas, Pressure , Energy , Power, etc.)</rdfs:comment> + <rdfs:label xml:lang="en">has meter reading type</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasPrice --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasPrice"> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Price"/> + <rdfs:comment xml:lang="en">A relationship indentifying the price associated to an entity</rdfs:comment> + <rdfs:label xml:lang="en">has price</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasProfile --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasProfile"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Profile"/> + <rdfs:comment xml:lang="en">A relationship associating a profile to a certain device</rdfs:comment> + <rdfs:label xml:lang="en">has profile</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasProperty --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasProperty"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/isPropertyOf"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/FeatureOfInterest"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A relationship between a feature of interest and a property of that feature</rdfs:comment> + <rdfs:label xml:lang="en">has property</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasSensingRange --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasSensingRange"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/SensingFunction"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:comment xml:lang="en">A relationship between a sensing function and a measurement identifying the range of a sensor detection</rdfs:comment> + <rdfs:label xml:lang="en">has sensing range</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasSensorType --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasSensorType"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/SensingFunction"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) </rdfs:comment> + <rdfs:label xml:lang="en">has sensor type</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasState --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasState"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/State"/> + <rdfs:comment xml:lang="en">A relationship identifying the type of state of a device</rdfs:comment> + <rdfs:label xml:lang="en">has state</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasThresholdMeasurement --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasThresholdMeasurement"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/EventFunction"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:comment xml:lang="en">A relationship associated with an event function to notify that a certain threshold measurement has been exceeded</rdfs:comment> + <rdfs:label xml:lang="en">has threshold measurement</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasTime --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasTime"> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Time"/> + <rdfs:comment xml:lang="en">A relationship to associate time information to an entity</rdfs:comment> + <rdfs:label xml:lang="en">has time</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/hasTypicalConsumption --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/hasTypicalConsumption"> + <rdfs:comment xml:lang="en">A relationship identifying the typical (energy or power) consumption of a device</rdfs:comment> + <rdfs:label xml:lang="en">has typical consumption</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isAbout --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isAbout"> + <rdfs:comment xml:lang="en">A relationship identifying what an entity, such as a profile, is about</rdfs:comment> + <rdfs:label xml:lang="en">isAbout</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isAccomplishedBy --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isAccomplishedBy"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A relationship identifying an entity (e.g., a device) that can accomplish a task.</rdfs:comment> + <rdfs:label xml:lang="en">is accomplished by</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isCommandOf --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isCommandOf"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:comment xml:lang="en">A relationship between a command and a function.</rdfs:comment> + <rdfs:label xml:lang="en">is command of</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isControlledByDevice --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isControlledByDevice"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:comment xml:lang="en">A relationship specifying the devices that can control a certain property</rdfs:comment> + <rdfs:label xml:lang="en">is controlled by device</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isMeasuredByDevice --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isMeasuredByDevice"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:comment xml:lang="en">A relationship specifying the devices that can measure a certain property</rdfs:comment> + <rdfs:label xml:lang="en">is measured by device</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isMeasuredIn --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isMeasuredIn"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">A relationship identifying the unit of measure used for a certain entity.</rdfs:comment> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isMeasurementOf --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isMeasurementOf"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/FeatureOfInterest"/> + <rdfs:comment xml:lang="en">A relationship between a measurement and the feature of interest whose quality was measured</rdfs:comment> + <rdfs:label xml:lang="en">isMeasurementOf</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isOfferedBy --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isOfferedBy"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/offers"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Service"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:comment xml:lang="en">A relationship between a service and a device that offers the service</rdfs:comment> + <rdfs:label xml:lang="en">is offered by</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isPropertyOf --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isPropertyOf"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/FeatureOfInterest"/> + <rdfs:comment xml:lang="en">A relationship between a property and the feature of interest it belongs to</rdfs:comment> + <rdfs:label xml:lang="en">is property of</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/isUsedFor --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/isUsedFor"> + <rdfs:comment xml:lang="en">A relationship specifying the commodity for which a device is used for</rdfs:comment> + <rdfs:label xml:lang="en">is used for</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/makesMeasurement --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/makesMeasurement"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/measurementMadeBy"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:comment xml:lang="en">A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates.</rdfs:comment> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/measurementMadeBy --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/measurementMadeBy"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:comment xml:lang="en">A relation between a measurement and the device that made it.</rdfs:comment> + <rdfs:label xml:lang="en">measurement made by</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/measuresProperty --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/measuresProperty"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A relationship specifying the property that can be measured by a certain device</rdfs:comment> + <rdfs:label xml:lang="en">measures property</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/offers --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/offers"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Service"/> + <rdfs:comment xml:lang="en">A relationship between a device and a service</rdfs:comment> + <rdfs:label xml:lang="en">offers</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/relatesToMeasurement --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/relatesToMeasurement"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/core/relatesToProperty"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:comment xml:lang="en">A relationship between a property and the measurements it relates to</rdfs:comment> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/relatesToProperty --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/relatesToProperty"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Measurement"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A relationship between a measurement and the property it relates to</rdfs:comment> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + </owl:ObjectProperty> + + + + <!-- https://saref.etsi.org/core/represents --> + + + <owl:ObjectProperty rdf:about="https://saref.etsi.org/core/represents"> + <rdfs:domain rdf:resource="https://saref.etsi.org/core/Service"/> + <rdfs:range rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:comment xml:lang="en">A relationship between a service and a function.</rdfs:comment> + <rdfs:label xml:lang="en">represents</rdfs:label> + </owl:ObjectProperty> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Data properties + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + + <!-- https://saref.etsi.org/core/hasDescription --> + + + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/core/hasDescription"> + <rdfs:comment xml:lang="en">A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag.</rdfs:comment> + <rdfs:comment xml:lang="en">DEPRECATED: The use of rdfs:comment is recommended instead.</rdfs:comment> + <rdfs:label xml:lang="en">has description</rdfs:label> + <owl:deprecated rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</owl:deprecated> + </owl:DatatypeProperty> + + + + <!-- https://saref.etsi.org/core/hasManufacturer --> + + + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/core/hasManufacturer"> + <rdfs:comment xml:lang="en">A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag.</rdfs:comment> + <rdfs:label xml:lang="en">has manufacturer</rdfs:label> + </owl:DatatypeProperty> + + + + <!-- https://saref.etsi.org/core/hasModel --> + + + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/core/hasModel"> + <rdfs:comment xml:lang="en">A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag.</rdfs:comment> + <rdfs:label xml:lang="en">has model</rdfs:label> + </owl:DatatypeProperty> + + + + <!-- https://saref.etsi.org/core/hasTimestamp --> + + + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/core/hasTimestamp"> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + </owl:DatatypeProperty> + + + + <!-- https://saref.etsi.org/core/hasValue --> + + + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/core/hasValue"> + <rdfs:comment xml:lang="en">A relationship defining the value of a certain property, e.g., energy or power. Note that, even if numeric values are expected to enable reasoning, measurement values could use other datatypes.</rdfs:comment> + <rdfs:label xml:lang="en">has value</rdfs:label> + </owl:DatatypeProperty> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Classes + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + + <!-- https://saref.etsi.org/core/ActuatingFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/ActuatingFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:comment xml:lang="en">A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)</rdfs:comment> + <rdfs:label xml:lang="en">Actuating function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Actuator --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Actuator"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/ActuatingFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A device responsible for moving or controlling a mechanism or system by performing an actuating function</rdfs:comment> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Appliance --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Appliance"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:comment xml:lang="en">An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking</rdfs:comment> + <rdfs:label xml:lang="en">Appliance</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/CloseCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/CloseCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OpenCloseState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/OpenCloseFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://saref.etsi.org/core/OpenCommand"/> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Close command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/CloseState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/CloseState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/OpenCloseState"/> + <rdfs:comment xml:lang="en">The state of a device that is CLOSE</rdfs:comment> + <rdfs:label xml:lang="en">Close state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Coal --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Coal"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Commodity"/> + <rdfs:comment xml:lang="en">A type of commodity</rdfs:comment> + <rdfs:label xml:lang="en">Coal</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Command --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Command"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/State"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Function"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:label xml:lang="en">Command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Commodity --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Commodity"> + <rdfs:comment xml:lang="en">A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. </rdfs:comment> + <rdfs:label xml:lang="en">Commodity</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Currency --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Currency"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">The class of units of measure for price</rdfs:comment> + <rdfs:label xml:lang="en">Currency</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Device --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Device"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/consistsOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Device"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/controlsProperty"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Property"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasProfile"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Profile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasState"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/State"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isUsedFor"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Commodity"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/makesMeasurement"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Measurement"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/measuresProperty"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Property"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/offers"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Service"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/accomplishes"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Task"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Function"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasManufacturer"/> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasModel"/> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function.</rdfs:comment> + <rdfs:label xml:lang="en">Device</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/DoorSwitch --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/DoorSwitch"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Switch"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OpenCloseFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasState"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OpenCloseState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A switch that performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState. A saref:DoorSwitch is typically used to accomplish saref:Safety.</rdfs:comment> + <rdfs:label xml:lang="en">Door switch</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Electricity --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Electricity"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Commodity"/> + <rdfs:comment xml:lang="en">A type of commodity</rdfs:comment> + <rdfs:label xml:lang="en">Electricity</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Energy --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Energy"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. </rdfs:comment> + <rdfs:label xml:lang="en">Energy</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/EnergyUnit --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/EnergyUnit"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">The unit of measure for energy</rdfs:comment> + <rdfs:label xml:lang="en">Energy unit</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/EventFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/EventFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasThresholdMeasurement"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Measurement"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved.</rdfs:comment> + <rdfs:label xml:lang="en">Event function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/FeatureOfInterest --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/FeatureOfInterest"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasMeasurement"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Measurement"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasProperty"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Property"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A feature of interest represents any real world entity from which a property is measured.</rdfs:comment> + <rdfs:label xml:lang="en">Feature of interest</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Function --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Function"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasCommand"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Command"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">The functionality necessary to accomplish the task for which a device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. </rdfs:comment> + <rdfs:label xml:lang="en">Function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Gas --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Gas"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Commodity"/> + <rdfs:comment xml:lang="en">A type of commodity</rdfs:comment> + <rdfs:label xml:lang="en">Gas</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/GetCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/GetCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Get command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/GetCurrentMeterValueCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/GetCurrentMeterValueCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/GetCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/MeteringFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of get command</rdfs:comment> + <rdfs:label xml:lang="en">Get current meter value command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/GetMeterDataCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/GetMeterDataCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/GetCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/MeteringFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of get command</rdfs:comment> + <rdfs:label xml:lang="en">Get meter data command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/GetMeterHistoryCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/GetMeterHistoryCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/GetCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/MeteringFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of get command</rdfs:comment> + <rdfs:label xml:lang="en">Get meter history command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/GetSensingDataCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/GetSensingDataCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/GetCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/SensingFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of get command</rdfs:comment> + <rdfs:label xml:lang="en">Get sensing data command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/HVAC --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/HVAC"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:comment xml:lang="en">Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort. A saref:HVAC is typically used to accomplish saref:Comfort.</rdfs:comment> + <rdfs:label xml:lang="en">HVAC</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Humidity --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Humidity"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit</rdfs:comment> + <rdfs:label xml:lang="en">Humidity</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/IlluminanceUnit --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/IlluminanceUnit"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">The unit of measure for light</rdfs:comment> + <rdfs:label xml:lang="en">Illuminance unit</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/LevelControlFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/LevelControlFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/ActuatingFunction"/> + <rdfs:comment xml:lang="en">An actuating function that allows to do level adjustments of a property in a certain range (e.g., 0%-100%), such as dimming a light in a room or setting the speed of an electric motor. </rdfs:comment> + <rdfs:label xml:lang="en">Level control function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Light --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Light"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)</rdfs:comment> + <rdfs:label xml:lang="en">Light</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/LightSwitch --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/LightSwitch"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Switch"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/controlsProperty"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/Light"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasState"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/offers"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/SwitchOnService"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A switch that performs the saref:OnOffFunction, controls the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service. A saref:LightSwitch is typically used to accomplish saref:Lighting.</rdfs:comment> + <rdfs:label xml:lang="en">Light switch</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Measurement --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Measurement"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isMeasuredIn"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isMeasurementOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/FeatureOfInterest"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/relatesToProperty"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Property"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isMeasuredIn"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:qualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/relatesToProperty"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:qualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Property"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasTimestamp"/> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasValue"/> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Meter --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Meter"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/MeteringFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction.</rdfs:comment> + <rdfs:label xml:lang="en">Meter</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/MeteringFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/MeteringFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasMeterReading"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Measurement"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasMeterReadingType"/> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <rdf:Description rdf:about="https://saref.etsi.org/core/Commodity"/> + <rdf:Description rdf:about="https://saref.etsi.org/core/Property"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A function that allows to get data from a meter, such as current meter reading or instantaneous demand</rdfs:comment> + <rdfs:label xml:lang="en">Metering function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Motion --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Motion"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion</rdfs:comment> + <rdfs:label xml:lang="en">Motion</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/MultiLevelState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/MultiLevelState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/State"/> + <rdfs:comment xml:lang="en">A type of state</rdfs:comment> + <rdfs:label xml:lang="en">Multi level state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/NotifyCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/NotifyCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/EventFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Notify command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Occupancy --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Occupancy"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy</rdfs:comment> + <rdfs:label xml:lang="en">Occupancy</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OffCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OffCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://saref.etsi.org/core/OnCommand"/> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Off command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OffState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OffState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/OnOffState"/> + <rdfs:comment xml:lang="en">The state of a device that is Off</rdfs:comment> + <rdfs:label xml:lang="en">Off state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OnCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OnCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">On command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OnOffFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OnOffFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/ActuatingFunction"/> + <rdfs:comment xml:lang="en">An actuating function that allows to switch on and off an actuator</rdfs:comment> + <rdfs:label xml:lang="en">On off function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OnOffState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OnOffState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/State"/> + <rdfs:comment xml:lang="en">A type of state</rdfs:comment> + <rdfs:label xml:lang="en">On off state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OnState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OnState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/OnOffState"/> + <rdfs:comment xml:lang="en">The state of a device that is On</rdfs:comment> + <rdfs:label xml:lang="en">On state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OpenCloseFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OpenCloseFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/ActuatingFunction"/> + <rdfs:comment xml:lang="en">An actuating function that allows to open and close a device</rdfs:comment> + <rdfs:label xml:lang="en">Open close function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OpenCloseState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OpenCloseState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/State"/> + <rdfs:comment xml:lang="en">A type of state</rdfs:comment> + <rdfs:label xml:lang="en">Open close state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OpenCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OpenCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OpenCloseState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/OpenCloseFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Open command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/OpenState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/OpenState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/OpenCloseState"/> + <rdfs:comment xml:lang="en">The state of a device that is OPEN </rdfs:comment> + <rdfs:label xml:lang="en">Open state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/PauseCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/PauseCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Pause command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Power --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Power"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined.</rdfs:comment> + <rdfs:label xml:lang="en">Power</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/PowerUnit --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/PowerUnit"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">The unit of measure for power</rdfs:comment> + <rdfs:label xml:lang="en">Power unit</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Pressure --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Pressure"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)</rdfs:comment> + <rdfs:label xml:lang="en">Pressure</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/PressureUnit --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/PressureUnit"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">The unit of measure for pressure</rdfs:comment> + <rdfs:label xml:lang="en">Pressure unit</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Price --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Price"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency</rdfs:comment> + <rdfs:label xml:lang="en">Price</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Profile --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Profile"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/consistsOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Profile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasPrice"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Price"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasTime"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Time"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isAbout"/> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <rdf:Description rdf:about="https://saref.etsi.org/core/Commodity"/> + <rdf:Description rdf:about="https://saref.etsi.org/core/Property"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A specification associated to a device to collect information about a certain Property (e.g., Energy) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property (saref:isAbout), can be calculated over a time span (saref:hasTime) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located.</rdfs:comment> + <rdfs:label xml:lang="en">Profile</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Property --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Property"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isControlledByDevice"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Device"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isMeasuredByDevice"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Device"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isPropertyOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/FeatureOfInterest"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/relatesToMeasurement"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Measurement"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A quality of a feature of interest that can be measured; an aspect of a feature of interest that is intrinsic to and cannot exist without the feature</rdfs:comment> + <rdfs:label xml:lang="en">Property</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/SensingFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/SensingFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Function"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasSensingRange"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/Measurement"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasSensorType"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/Property"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)</rdfs:comment> + <rdfs:label xml:lang="en">Sensing function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Sensor --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Sensor"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/SensingFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction.</rdfs:comment> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Service --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Service"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isOfferedBy"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Device"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/represents"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality> + <owl:onClass rdf:resource="https://saref.etsi.org/core/Function"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented.</rdfs:comment> + <rdfs:label xml:lang="en">Service</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/SetAbsoluteLevelCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/SetAbsoluteLevelCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/SetLevelCommand"/> + <rdfs:comment xml:lang="en">A type of set level command</rdfs:comment> + <rdfs:label xml:lang="en">Set absolute level command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/SetLevelCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/SetLevelCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/MultiLevelState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/LevelControlFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Set level command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/SetRelativeLevelCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/SetRelativeLevelCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/SetLevelCommand"/> + <rdfs:comment xml:lang="en">A type of set level command</rdfs:comment> + <rdfs:label xml:lang="en">Set relative level command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Smoke --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Smoke"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke</rdfs:comment> + <rdfs:label xml:lang="en">Smoke</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/SmokeSensor --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/SmokeSensor"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Sensor"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/EventFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/SensingFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/measuresProperty"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/Smoke"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A sensor that performs the saref:SensingFunction and the saref:EventFunction, and is used for the purpose of sensing a property of type saref:Smoke. A saref:SmokeSensor is typically used to saref:accomplish saref:Safety.</rdfs:comment> + <rdfs:label xml:lang="en">Smoke sensor</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StartCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StartCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/StartStopState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/StartStopFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://saref.etsi.org/core/StopCommand"/> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Start command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StartState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StartState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/StartStopState"/> + <rdfs:comment xml:lang="en">The state of a device that is STARTED</rdfs:comment> + <rdfs:label xml:lang="en">Start state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StartStopFunction --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StartStopFunction"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/ActuatingFunction"/> + <rdfs:comment xml:lang="en">An actuating function that allows to start and stop a device</rdfs:comment> + <rdfs:label xml:lang="en">Start stop function</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StartStopState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StartStopState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/State"/> + <rdfs:comment xml:lang="en">A type of state</rdfs:comment> + <rdfs:label xml:lang="en">Start stop state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/State --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/State"> + <rdfs:comment xml:lang="en">The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:label xml:lang="en">State</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StepDownCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StepDownCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/MultiLevelState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/LevelControlFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://saref.etsi.org/core/StepUpCommand"/> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Step down command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StepUpCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StepUpCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/MultiLevelState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/LevelControlFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Step up command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StopCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StopCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/actsUpon"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/StartStopState"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/StartStopFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Stop command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/StopState --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/StopState"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/StartStopState"/> + <rdfs:comment xml:lang="en">The state of a device that is STOPPED</rdfs:comment> + <rdfs:label xml:lang="en">Stop state</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Switch --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Switch"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Actuator"/> + <rdfs:comment xml:lang="en">A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction</rdfs:comment> + <rdfs:label xml:lang="en">Switch</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/SwitchOnService --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/SwitchOnService"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Service"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isOfferedBy"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/LightSwitch"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/represents"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of service that represents an on/off function to the network</rdfs:comment> + <rdfs:label xml:lang="en">Switch on service</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Task --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Task"> + <rdfs:comment xml:lang="en">The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended. Tasks can be accomplished by devices (saref:isAccomplishedBy).</rdfs:comment> + <rdfs:label xml:lang="en">Task</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Temperature --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Temperature"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Property"/> + <rdfs:comment xml:lang="en">A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)</rdfs:comment> + <rdfs:label xml:lang="en">Temperature</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/TemperatureSensor --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/TemperatureSensor"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Sensor"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/hasFunction"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/SensingFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/measuresProperty"/> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/core/Temperature"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A sensor that is used for the purpose of sensing a property of type saref:Temperature. A saref:TemperatureSensor is typically used to saref:accomplish saref:Comfort.</rdfs:comment> + <rdfs:label xml:lang="en">Temperature sensor</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/TemperatureUnit --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/TemperatureUnit"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/UnitOfMeasure"/> + <rdfs:comment xml:lang="en">The unit of measure for temperature</rdfs:comment> + <rdfs:label xml:lang="en">Temperature unit</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Time --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Time"> + <rdfs:comment xml:lang="en">A class that allows to specify the time concept.</rdfs:comment> + <rdfs:label xml:lang="en">Time</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/ToggleCommand --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/ToggleCommand"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Command"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://saref.etsi.org/core/isCommandOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/core/OnOffFunction"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A type of command</rdfs:comment> + <rdfs:label xml:lang="en">Toggle command</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/UnitOfMeasure --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/UnitOfMeasure"> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM).</rdfs:comment> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + </owl:Class> + + + + <!-- https://saref.etsi.org/core/Water --> + + + <owl:Class rdf:about="https://saref.etsi.org/core/Water"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/core/Commodity"/> + <rdfs:comment xml:lang="en">A type of commodity</rdfs:comment> + <rdfs:label xml:lang="en">Water</rdfs:label> + </owl:Class> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Individuals + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + + <!-- https://saref.etsi.org/core/Cleaning --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Cleaning"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Cleaning</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/Comfort --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Comfort"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Comfort</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/Drying --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Drying"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Drying</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/EnergyEfficiency --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/EnergyEfficiency"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">EnergyEfficiency</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/Entertainment --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Entertainment"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Entertainment</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/Lighting --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Lighting"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Lighting</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/MeterReading --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/MeterReading"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Meter reading</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/Safety --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Safety"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Safety</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/Washing --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/Washing"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">Washing</rdfs:label> + </owl:NamedIndividual> + + + + <!-- https://saref.etsi.org/core/WellBeing --> + + + <owl:NamedIndividual rdf:about="https://saref.etsi.org/core/WellBeing"> + <rdf:type rdf:resource="https://saref.etsi.org/core/Task"/> + <rdfs:comment xml:lang="en">A type of task for which a device is designed</rdfs:comment> + <rdfs:label xml:lang="en">WellBeing</rdfs:label> + </owl:NamedIndividual> +</rdf:RDF> + + + +<!-- Generated by the OWL API (version 5.1.9) https://github.com/owlcs/owlapi/ --> + + diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/provenance/provenance-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/provenance/provenance-en.html new file mode 100644 index 0000000000000000000000000000000000000000..733eddb21427600b4211cc8d1618d60064cd1e41 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/provenance/provenance-en.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> + + </head> + +<body> +<div class="head"> +<h1>Provenance for SAREF: the Smart Applications REFerence ontology Documentation (/home/ahmad/repos/mpovedavillalon@gmail.com/OnToology/saefv3.owl/documentation)</h1> +<ul> + <li>Ontology contributed to by: : + http://maxime-lefrancois.info/me# (null), http://www.garcia-castro.com/foaf.rdf#me (null), https://w3id.org/people/mpoveda/ (null), https://www.linkedin.com/in/lauradaniele (null),</li> +<li>The ontology documentation was the result of using the <a href="https://github.com/dgarijo/Widoco">Widoco tool</a> (which itself uses <a href="http://www.essepuntato.it/lode/">LODE</a> for generating the crossreference section).</li> +</ul> +</div> +<p>back to <a href="..\index-en.html">documentation</a>. <a href="provenance-en.ttl">TTL format</a></p></div> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/provenance/provenance-en.ttl b/src/main/resources/saref-portal-generator/public/core/v3.1.1/provenance/provenance-en.ttl new file mode 100644 index 0000000000000000000000000000000000000000..f85b3ffbfc079cdc396fde91347d31e03c6320cd --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/provenance/provenance-en.ttl @@ -0,0 +1,15 @@ +@prefix prov: <http://www.w3.org/ns/prov#> . +@prefix dc: <http://purl.org/dc/terms/> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . +<..\index-en.html> a prov:Entity; + dc:title "SAREF: the Smart Applications REFerence ontology"; + prov:wasAttributedTo <http://maxime-lefrancois.info/me#>; + dc:contributor <http://maxime-lefrancois.info/me#>; + prov:wasAttributedTo <http://www.garcia-castro.com/foaf.rdf#me>; + dc:contributor <http://www.garcia-castro.com/foaf.rdf#me>; + prov:wasAttributedTo <https://w3id.org/people/mpoveda/>; + dc:contributor <https://w3id.org/people/mpoveda/>; + prov:wasAttributedTo <https://www.linkedin.com/in/lauradaniele>; + dc:contributor <https://www.linkedin.com/in/lauradaniele>; + prov:wasAttributedTo <https://github.com/dgarijo/Widoco/>,<http://www.essepuntato.it/lode/>; +. diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/readme.md b/src/main/resources/saref-portal-generator/public/core/v3.1.1/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..55c60f040229e5d5ff923ad238868108d0ec13c1 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/readme.md @@ -0,0 +1,34 @@ +About Widoco output +=================== +The purpose of Widoco is to reuse and integrate existing tools for documentation, plus the set of features listed below: +* Separation of the sections of your html page so you can write them independently and replace only those needed. +* Automatic annotation in RDF-a of the html produced. +* Association of a provenance page which includes the history of your vocabulary (W3C PROV-O compliant). +* Metadata extraction from the ontology plus the means to complete it on the fly when generating your ontology. +* Guidelines on the main sections that your document should have and how to complete them. + +Widoco will create 3 different folders: +| +|-provenance (a folder including an html and RDF serialization of how the documentation page was created) +|-resources (folder with the different resources) +|-sections (folder with the different sections of the documentation, separated for easy editing. Just edit one and the main page will be updated) + +Completing ontology metadata. +=================== +Widoco uses the ontology metadata to update a configuration file. If you complete that configuration file (ended up widoco.conf), the tool will enhance your html with additional details, such as how to cite the document, previous revisions, icons with the licence, etc. + +Browser issues +========== +The result of executing Widoco is an html file. We have tested it in Mozilla, IE and Chrome, and when the page is stored in a server all the browsers work correctly. If you view the file locally, we recommend you to use Mozilla Firefox (or Internet Explorer, if you must). Google Chrome will not show the contents correctly, as it doesn't allow XMLHttpRequest without HTTP. If you want to view the page locally with Google Chrome you have two possibilities: + +a) Place the file in a server and access it via its URL (for example, put it in dropbox and access through its public url). + +b) Execute Chrome with the following commands : + +(WIN) chrome.exe --allow-file-access-from-files, + +(OSX) open /Applications/Google\ Chrome.app/ --args --allow-file-access-from-files + +(UNX) /usr/bin/google-chrome --allow-file-access-from-files + +Do you have a problem? open an issue at https://github.com/dgarijo/Widoco \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/extra.css b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/extra.css new file mode 100644 index 0000000000000000000000000000000000000000..38e86dcf061d461a1cfbc3943ff1ab5c888154a5 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/extra.css @@ -0,0 +1,124 @@ +body { + text-align: justify; +} + +h1 { + line-height: 110%; +} + +.hlist { + border: 1px solid navy; + padding:5px; + background-color: #F4FFFF; +} + +.hlist li { + display: inline; + display: inline-table; + list-style-type: none; + padding-right: 20px; + +} + +.entity { + border: 1px solid navy; + margin:5px 0px 5px 0px; + padding: 5px; +} + +.type-c { + cursor:help; + color:orange; +} + +.type-op { + cursor:help; + color:navy; +} + +.type-dp { + cursor:help; + color:green; +} + +.type-ap { + cursor:help; + color:maroon; +} + +.type-ni { + cursor:help; + color:brown; +} + +.logic { + color:purple; + font-weight:bold; +} + +h3 { + margin-top: 3px; + padding-bottom: 5px; + border-bottom: 1px solid navy; +} + +h2 { + margin-top:40px; +} + +.dotted { + border-bottom: 1px dotted gray; +} + +dt { + margin-top:5px; +} + +.description { + border-top: 1px dashed gray; + border-bottom: 1px dashed gray; + background-color: rgb(242, 243, 244); + margin-top:5px; + padding-bottom:5px; +} + +.description dl { + background-color: rgb(242, 243, 244); +} + +.description ul { + padding-left: 12px; + margin-top: 0px; +} + +.backlink { + font-size:10pt; + text-align:right; + float:right; + color:black; + padding: 2px; + border: 1px dotted navy; + background-color: #F4FFFF; +} + +.imageblock { + text-align: center; +} + +.imageblock img { + border:1px solid gray; +} + +.endnote { + margin-top: 40px; + border-top: 1px solid gray; + padding-top: 10px; + text-align: center; + color:gray; + font-size:70%; +} + +.literal { + color:green; + font-style:italic; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/images/SAREF figures-Overview.jpg b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/images/SAREF figures-Overview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/jquery.js b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/jquery.js new file mode 100644 index 0000000000000000000000000000000000000000..e67db74720181747df5fd8f310bf3a7293dcce34 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/jquery.js @@ -0,0 +1,18 @@ +/*! + * jQuery JavaScript Library v1.6.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Jun 30 14:16:56 2011 -0400 + */ +(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i. +shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j +)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/marked.min.js b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/marked.min.js new file mode 100644 index 0000000000000000000000000000000000000000..281f657a0d38e8bce36c7949786127d17a2d7f82 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/marked.min.js @@ -0,0 +1,6 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) + * https://github.com/chjj/marked + */ +(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:cap[1]==="pre"||cap[1]==="script"||cap[1]==="style",text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=escape(this.smartypants(cap[0]));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/--/g,"—").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"Â’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"Â…")};InlineLexer.prototype.mangle=function(text){var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occured:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/owl.css b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/owl.css new file mode 100644 index 0000000000000000000000000000000000000000..9e80a257a37f672ee0d6e3380311bbe04d76a958 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/owl.css @@ -0,0 +1,248 @@ +.RFC2119 { + text-transform: lowercase; + font-style: italic; +} +.nonterminal { + font-weight: bold; + font-family: sans-serif; + font-size: 95%; +} +#abstract br { + /* doesn't work right SOMETIMES + margin-bottom: 1em; */ +} +.name { + font-family: monospace; +} +.buttonpanel { + margin-top: 1ex; + margin-bottom: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-top: 1ex; + padding-bottom: 0.6ex; + border: 1px dotted black; +} +.grammar { + margin-top: 1ex; + margin-bottom: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-top: 1ex; + padding-bottom: 0.6ex; + border: 1px dashed #2f6fab; + font-family: monospace; +} +.image { + text-align: center; +} +.centered { + text-align: center; + padding-top: 4ex; + padding-bottom: 4ex; +} +.centered table { + margin: 0 auto; + text-align: left; +} +.caption { + font-weight: bold; +} +.indent { + margin-left: 20px; +} +.atrisknote { + padding: 5px; + margin-top: 10px; + margin-bottom: 10px; + border: solid 2px blue; + background-color: #FFA; +} +.atrisknotehead { + font-style: italic; +} + +/* Stying the examples. */ + +.anexample:before { + content: "Example:"; + font-family: sans-serif; + font-size: 1.6ex; + font-weight: bold; +} +.anexample { + margin-top: 1ex; + margin-bottom: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-top: 1ex; + padding-bottom: 0.6ex; + border: 1px dashed #2f6fab; + background-color: #f9f9f9; +} +.anexample table { + background-color: #f9f9f9; +} + +/* Styling the parts in the functional-style syntax. */ + +div.fss { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; + font-family: monospace; +} +table.fss { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; + width: 100%; +} +table.fss caption.fss { + font-size: 1.5ex; + font-weight: bold; + text-align: left; + padding-left: 10px; +} +table.fss td:first-child { + font-family: monospace; + padding-left: 20px; + padding-right: 20px; + width: 60%; +} +table{ + background-color: #f4ffff; + border: 1px solid navy; + margin: 20px; + vertical-align: middle; +} +table td { + padding: 5px 15px; + text-align: left; +} + +/* Styling the parts in the RDF syntax. */ + +div.rdf{ + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; + font-family: monospace; +} +table.rdf { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; + width: 100%; +} +table.rdf caption.rdf { + font-size: 1.5ex; + font-weight: bold; + text-align: left; + padding-left: 10px; +} +table.rdf td:first-child { + font-family: monospace; + padding-left: 20px; + padding-right: 20px; + width: 60%; +} + +/* Styling the XML syntax. */ + +div.xmlsyn { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; + font-family: monospace; +} +div.axioms { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; +} + +/* Other styles. */ + +table.complexity td { + text-align: center; +} +table.allname td { + font-family: monospace; +} +table.canonicalparsing { + margin-left: 20px; + border-style: none; +} +table.canonicalparsing td { + vertical-align: top; + padding: 2px 2px 2px 2px; +} +table.canonicalparsing td.two { + padding-left: 30px; +} + +/* The following are classes for templates used in the editing process. */ + +.review { + padding: 5px; + border: solid 1px black; + margin-left: 10%; + margin-top: 10px; + margin-bottom: 10px; + background-color: #FFA; + font-size: smaller; +} +.reviewauthor { + font-size: smaller; + font-style: italic; +} +.ednote { + padding: 5px; + border: solid 1px black; + margin-top: 10px; + margin-bottom: 10px; +} +.ednotehead { + font-weight: bold; +} + +/* override mediawiki's beautiful DL styling... */ +dl { + background: white; + width: 100%; + border: none; + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} + +div { + margin-top: 0; + margin-bottom: 0; +} +#fulltitle { + font-size: 140%; + font-weight: bold; +} + +.xml { + color: red +} + +.rdbms{ +color: red +} + +/* just copying from wiki, so it stays through TR. Currently + affects Primer, at least */ +pre { + background-color:#F9F9F9; + border:1px dashed #2F6FAB; + color:black; + line-height:1.1em; + padding:1em; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/primer.css b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/primer.css new file mode 100644 index 0000000000000000000000000000000000000000..fc28be7169638d433e9e0576fc93c1991dd50328 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/primer.css @@ -0,0 +1,103 @@ +/* define a class "noprint" for sections which don't get printed */ +.noprint { display: none; } + +/* our syntax menu for switching */ +div.syntaxmenu { + border: 1px dotted black; + padding:0.5em; + margin: 1em; +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +@media print { + div.syntaxmenu { display:none; } +} + +/* use tab-like headers for syntax examples */ +div.exampleheader { + font-size: 90%; + float: left; + background: #F9F9F9; + color: #2F6FAB; + border: 1px dashed #2F6FAB; + border-bottom: 0px; + padding-top: 2px; +} + +div.exampleheader span.exampleheader { + background: #F9F9F9; + padding-top: 0px; + padding-right: 10px; + padding-left: 10px; + padding-bottom: 3px; + padding-top: 0px; +} + +/* Also copy MediaWiki style here, so it will not look different when exported */ +div.fssyntax pre, div.rdfxml pre, div.owlxml pre, div.turtle pre, div.manchester pre { + background-color: #F9F9F9; + border: 1px dashed #2F6FAB; + color: black; + line-height: 1.1em; + padding: 1em; + clear: both; + margin-left: 0em; +} +/* Expansion to add the status*/ +.status { + position: fixed; + left: 0em; + top: 0em; + text-align: right; + vertical-align: middle; + /* Square version of the inside span. Slightly larger */ + width: 26em; + height: 26em; + z-index: -1; + opacity: 0.8; + + /** From http://stackoverflow.com/questions/1080792/how-to-draw-vertical-text-with-css-cross-browser */ + + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + transform: rotate(-90deg); + /* also accepts left, right, top, bottom coordinates; not + * required, but a good idea for styling */ + -webkit-transform-origin: 50% 50%; + -moz-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + -o-transform-origin: 50% 50%; + transform-origin: 50% 50%; + + /* Should be unset in IE9+ I think. */ + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); +} + +/* The actual status box */ + .status div { + display: block; + background: rgb(0, 90, 156); + color: white; + width: 24em; + padding-top: 0.3em; + padding-left: 0em; + padding-right: 5em; + padding-bottom: 0.3em; + /* Enable for debugging + border: red thin solid; + */ +} + +/* And text inside, don't confuse fonts as it breaks em above */ +.status div span { + font-family: "Tauri"; + font-size: larger; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/rec.css b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/rec.css new file mode 100644 index 0000000000000000000000000000000000000000..55d481d81a0c500bd0f4f08d070e1ce4e17d2a32 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/resources/rec.css @@ -0,0 +1,88 @@ +/* Style for a "Recommendation" */ + +/* + Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved. + The following software licensing rules apply: + http://www.w3.org/Consortium/Legal/copyright-software */ + +/* $Id: base.css,v 1.25 2006/04/18 08:42:53 bbos Exp $ */ + +body { + padding: 2em 1em 2em 70px; + margin: 0; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; + counter-reset:section; +} +:link { color: #00C; background: transparent } +:visited { color: #609; background: transparent } +a:active { color: #C00; background: transparent } + +a:link img, a:visited img { border-style: none } /* no border on img links */ + +a img { color: white; } /* trick to hide the border in Netscape 4 */ +@media all { /* hide the next rule from Netscape 4 */ + a img { color: inherit; } /* undo the color change above */ +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +h2.list{counter-reset:subsection } +h2.list:before{counter-increment:section;content: counter(section) ". ";} +h3.list:before{counter-increment:subsection;content: counter(section) "." counter(subsection) ". "; + } +h3.list{margin-top: 20px; + border-bottom: 0px; } +/* background should be transparent, but WebTV has a bug */ +h1, h2, h3 { color: #005A9C; background: white } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a[href]:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc, ol.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/abstract-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/abstract-en.html new file mode 100644 index 0000000000000000000000000000000000000000..b4843469c1f2f80109f466d5008e5ff7a5bc7bbc --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/abstract-en.html @@ -0,0 +1,4 @@ +<html> +<h2>Abstract</h2><span class="markdown"> +The Smart Applications REFerence ontology (SAREF) is intended to enable interoperability between solutions from different providers and among various activity sectors in the Internet of Things (IoT), thus contributing to the development of the global digital market.</span> +</html> diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/crossref-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/crossref-en.html new file mode 100644 index 0000000000000000000000000000000000000000..2c9da3741ad2d8f4f4213dd5f4bb58f9fdce450b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/crossref-en.html @@ -0,0 +1,3298 @@ +<html><h2 id="crossreference" class="list">Cross reference for SAREF: the Smart Applications REFerence ontology classes, properties and dataproperties <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> +This section provides details for each class and property defined by SAREF: the Smart Applications REFerence ontology. +<div id="classes"> + <h3 id="classes-headline" class="list">Classes</h3> + <ul class="hlist"> + <li> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + </li> + <li> + <a href="#Actuator" title="https://saref.etsi.org/core/Actuator">Actuator</a> + </li> + <li> + <a href="#Appliance" title="https://saref.etsi.org/core/Appliance">Appliance</a> + </li> + <li> + <a href="#CloseCommand" title="https://saref.etsi.org/core/CloseCommand">Close command</a> + </li> + <li> + <a href="#CloseState" title="https://saref.etsi.org/core/CloseState">Close state</a> + </li> + <li> + <a href="#Coal" title="https://saref.etsi.org/core/Coal">Coal</a> + </li> + <li> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + </li> + <li> + <a href="#Commodity" title="https://saref.etsi.org/core/Commodity">Commodity</a> + </li> + <li> + <a href="#Currency" title="https://saref.etsi.org/core/Currency">Currency</a> + </li> + <li> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + </li> + <li> + <a href="#DoorSwitch" title="https://saref.etsi.org/core/DoorSwitch">Door switch</a> + </li> + <li> + <a href="#Electricity" title="https://saref.etsi.org/core/Electricity">Electricity</a> + </li> + <li> + <a href="#Energy" title="https://saref.etsi.org/core/Energy">Energy</a> + </li> + <li> + <a href="#EnergyUnit" title="https://saref.etsi.org/core/EnergyUnit">Energy unit</a> + </li> + <li> + <a href="#EventFunction" title="https://saref.etsi.org/core/EventFunction">Event function</a> + </li> + <li> + <a href="#FeatureOfInterest" title="https://saref.etsi.org/core/FeatureOfInterest">Feature of interest</a> + </li> + <li> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + </li> + <li> + <a href="#Gas" title="https://saref.etsi.org/core/Gas">Gas</a> + </li> + <li> + <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + </li> + <li> + <a href="#GetCurrentMeterValueCommand" + title="https://saref.etsi.org/core/GetCurrentMeterValueCommand">Get current meter value command</a> + </li> + <li> + <a href="#GetMeterDataCommand" title="https://saref.etsi.org/core/GetMeterDataCommand">Get meter data command</a> + </li> + <li> + <a href="#GetMeterHistoryCommand" + title="https://saref.etsi.org/core/GetMeterHistoryCommand">Get meter history command</a> + </li> + <li> + <a href="#GetSensingDataCommand" + title="https://saref.etsi.org/core/GetSensingDataCommand">Get sensing data command</a> + </li> + <li> + <a href="#Humidity" title="https://saref.etsi.org/core/Humidity">Humidity</a> + </li> + <li> + <a href="#HVAC" title="https://saref.etsi.org/core/HVAC">HVAC</a> + </li> + <li> + <a href="#IlluminanceUnit" title="https://saref.etsi.org/core/IlluminanceUnit">Illuminance unit</a> + </li> + <li> + <a href="#LevelControlFunction" + title="https://saref.etsi.org/core/LevelControlFunction">Level control function</a> + </li> + <li> + <a href="#Light" title="https://saref.etsi.org/core/Light">Light</a> + </li> + <li> + <a href="#LightSwitch" title="https://saref.etsi.org/core/LightSwitch">Light switch</a> + </li> + <li> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + </li> + <li> + <a href="#Meter" title="https://saref.etsi.org/core/Meter">Meter</a> + </li> + <li> + <a href="#MeteringFunction" title="https://saref.etsi.org/core/MeteringFunction">Metering function</a> + </li> + <li> + <a href="#Motion" title="https://saref.etsi.org/core/Motion">Motion</a> + </li> + <li> + <a href="#MultiLevelState" title="https://saref.etsi.org/core/MultiLevelState">Multi level state</a> + </li> + <li> + <a href="#NotifyCommand" title="https://saref.etsi.org/core/NotifyCommand">Notify command</a> + </li> + <li> + <a href="#Occupancy" title="https://saref.etsi.org/core/Occupancy">Occupancy</a> + </li> + <li> + <a href="#OffCommand" title="https://saref.etsi.org/core/OffCommand">Off command</a> + </li> + <li> + <a href="#OffState" title="https://saref.etsi.org/core/OffState">Off state</a> + </li> + <li> + <a href="#OnCommand" title="https://saref.etsi.org/core/OnCommand">On command</a> + </li> + <li> + <a href="#OnOffFunction" title="https://saref.etsi.org/core/OnOffFunction">On off function</a> + </li> + <li> + <a href="#OnOffState" title="https://saref.etsi.org/core/OnOffState">On off state</a> + </li> + <li> + <a href="#OnState" title="https://saref.etsi.org/core/OnState">On state</a> + </li> + <li> + <a href="#OpenCloseFunction" title="https://saref.etsi.org/core/OpenCloseFunction">Open close function</a> + </li> + <li> + <a href="#OpenCloseState" title="https://saref.etsi.org/core/OpenCloseState">Open close state</a> + </li> + <li> + <a href="#OpenCommand" title="https://saref.etsi.org/core/OpenCommand">Open command</a> + </li> + <li> + <a href="#OpenState" title="https://saref.etsi.org/core/OpenState">Open state</a> + </li> + <li> + <a href="#PauseCommand" title="https://saref.etsi.org/core/PauseCommand">Pause command</a> + </li> + <li> + <a href="#Power" title="https://saref.etsi.org/core/Power">Power</a> + </li> + <li> + <a href="#PowerUnit" title="https://saref.etsi.org/core/PowerUnit">Power unit</a> + </li> + <li> + <a href="#Pressure" title="https://saref.etsi.org/core/Pressure">Pressure</a> + </li> + <li> + <a href="#PressureUnit" title="https://saref.etsi.org/core/PressureUnit">Pressure unit</a> + </li> + <li> + <a href="#Price" title="https://saref.etsi.org/core/Price">Price</a> + </li> + <li> + <a href="#Profile" title="https://saref.etsi.org/core/Profile">Profile</a> + </li> + <li> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + </li> + <li> + <a href="#SensingFunction" title="https://saref.etsi.org/core/SensingFunction">Sensing function</a> + </li> + <li> + <a href="#Sensor" title="https://saref.etsi.org/core/Sensor">Sensor</a> + </li> + <li> + <a href="#Service" title="https://saref.etsi.org/core/Service">Service</a> + </li> + <li> + <a href="#SetAbsoluteLevelCommand" + title="https://saref.etsi.org/core/SetAbsoluteLevelCommand">Set absolute level command</a> + </li> + <li> + <a href="#SetLevelCommand" title="https://saref.etsi.org/core/SetLevelCommand">Set level command</a> + </li> + <li> + <a href="#SetRelativeLevelCommand" + title="https://saref.etsi.org/core/SetRelativeLevelCommand">Set relative level command</a> + </li> + <li> + <a href="#Smoke" title="https://saref.etsi.org/core/Smoke">Smoke</a> + </li> + <li> + <a href="#SmokeSensor" title="https://saref.etsi.org/core/SmokeSensor">Smoke sensor</a> + </li> + <li> + <a href="#StartCommand" title="https://saref.etsi.org/core/StartCommand">Start command</a> + </li> + <li> + <a href="#StartState" title="https://saref.etsi.org/core/StartState">Start state</a> + </li> + <li> + <a href="#StartStopFunction" title="https://saref.etsi.org/core/StartStopFunction">Start stop function</a> + </li> + <li> + <a href="#StartStopState" title="https://saref.etsi.org/core/StartStopState">Start stop state</a> + </li> + <li> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + </li> + <li> + <a href="#StepDownCommand" title="https://saref.etsi.org/core/StepDownCommand">Step down command</a> + </li> + <li> + <a href="#StepUpCommand" title="https://saref.etsi.org/core/StepUpCommand">Step up command</a> + </li> + <li> + <a href="#StopCommand" title="https://saref.etsi.org/core/StopCommand">Stop command</a> + </li> + <li> + <a href="#StopState" title="https://saref.etsi.org/core/StopState">Stop state</a> + </li> + <li> + <a href="#Switch" title="https://saref.etsi.org/core/Switch">Switch</a> + </li> + <li> + <a href="#SwitchOnService" title="https://saref.etsi.org/core/SwitchOnService">Switch on service</a> + </li> + <li> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + </li> + <li> + <a href="#Temperature" title="https://saref.etsi.org/core/Temperature">Temperature</a> + </li> + <li> + <a href="#TemperatureSensor" title="https://saref.etsi.org/core/TemperatureSensor">Temperature sensor</a> + </li> + <li> + <a href="#TemperatureUnit" title="https://saref.etsi.org/core/TemperatureUnit">Temperature unit</a> + </li> + <li> + <a href="#Time" title="https://saref.etsi.org/core/Time">Time</a> + </li> + <li> + <a href="#ToggleCommand" title="https://saref.etsi.org/core/ToggleCommand">Toggle command</a> + </li> + <li> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + </li> + <li> + <a href="#Water" title="https://saref.etsi.org/core/Water">Water</a> + </li> + </ul> + <div class="entity" id="ActuatingFunction"> + <h3>Actuating function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/ActuatingFunction</p> + <div class="comment"> + <span class="markdown">A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#LevelControlFunction" + title="https://saref.etsi.org/core/LevelControlFunction">Level control function</a> + <sup class="type-c" title="class">c</sup>, <a href="#OnOffFunction" title="https://saref.etsi.org/core/OnOffFunction">On off function</a> + <sup class="type-c" title="class">c</sup>, <a href="#OpenCloseFunction" title="https://saref.etsi.org/core/OpenCloseFunction">Open close function</a> + <sup class="type-c" title="class">c</sup>, <a href="#StartStopFunction" title="https://saref.etsi.org/core/StartStopFunction">Start stop function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Actuator"> + <h3>Actuator<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Actuator</p> + <div class="comment"> + <span class="markdown">A device responsible for moving or controlling a mechanism or system by performing an actuating function</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#Switch" title="https://saref.etsi.org/core/Switch">Switch</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Appliance"> + <h3>Appliance<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Appliance</p> + <div class="comment"> + <span class="markdown">An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="CloseCommand"> + <h3>Close command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/CloseCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#OpenCommand" title="https://saref.etsi.org/core/OpenCommand">Open command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="CloseState"> + <h3>Close state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/CloseState</p> + <div class="comment"> + <span class="markdown">The state of a device that is CLOSE</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#OpenCloseState" title="https://saref.etsi.org/core/OpenCloseState">Open close state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Coal"> + <h3>Coal<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Coal</p> + <div class="comment"> + <span class="markdown">A type of commodity</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Commodity" title="https://saref.etsi.org/core/Commodity">Commodity</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Command"> + <h3>Command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Command</p> + <div class="comment"> + <span class="markdown">A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>has sub-classes</dt> + <dd> + <a href="#CloseCommand" title="https://saref.etsi.org/core/CloseCommand">Close command</a> + <sup class="type-c" title="class">c</sup>, <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + <sup class="type-c" title="class">c</sup>, <a href="#NotifyCommand" title="https://saref.etsi.org/core/NotifyCommand">Notify command</a> + <sup class="type-c" title="class">c</sup>, <a href="#OffCommand" title="https://saref.etsi.org/core/OffCommand">Off command</a> + <sup class="type-c" title="class">c</sup>, <a href="#OnCommand" title="https://saref.etsi.org/core/OnCommand">On command</a> + <sup class="type-c" title="class">c</sup>, <a href="#OpenCommand" title="https://saref.etsi.org/core/OpenCommand">Open command</a> + <sup class="type-c" title="class">c</sup>, <a href="#PauseCommand" title="https://saref.etsi.org/core/PauseCommand">Pause command</a> + <sup class="type-c" title="class">c</sup>, <a href="#SetLevelCommand" title="https://saref.etsi.org/core/SetLevelCommand">Set level command</a> + <sup class="type-c" title="class">c</sup>, <a href="#StartCommand" title="https://saref.etsi.org/core/StartCommand">Start command</a> + <sup class="type-c" title="class">c</sup>, <a href="#StepDownCommand" title="https://saref.etsi.org/core/StepDownCommand">Step down command</a> + <sup class="type-c" title="class">c</sup>, <a href="#StepUpCommand" title="https://saref.etsi.org/core/StepUpCommand">Step up command</a> + <sup class="type-c" title="class">c</sup>, <a href="#StopCommand" title="https://saref.etsi.org/core/StopCommand">Stop command</a> + <sup class="type-c" title="class">c</sup>, <a href="#ToggleCommand" title="https://saref.etsi.org/core/ToggleCommand">Toggle command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#actsUpon" title="https://saref.etsi.org/core/actsUpon">acts upon</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isCommandOf" title="https://saref.etsi.org/core/isCommandOf">is command of</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#hasCommand" title="https://saref.etsi.org/core/hasCommand">has command</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Commodity"> + <h3>Commodity<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Commodity</p> + <div class="comment"> + <span class="markdown">A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. </span> + </div> + <dl class="description"> + <dt>has sub-classes</dt> + <dd> + <a href="#Coal" title="https://saref.etsi.org/core/Coal">Coal</a> + <sup class="type-c" title="class">c</sup>, <a href="#Electricity" title="https://saref.etsi.org/core/Electricity">Electricity</a> + <sup class="type-c" title="class">c</sup>, <a href="#Gas" title="https://saref.etsi.org/core/Gas">Gas</a> + <sup class="type-c" title="class">c</sup>, <a href="#Water" title="https://saref.etsi.org/core/Water">Water</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Currency"> + <h3>Currency<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Currency</p> + <div class="comment"> + <span class="markdown">The class of units of measure for price</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Device"> + <h3>Device<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Device</p> + <div class="comment"> + <span class="markdown">A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>has sub-classes</dt> + <dd> + <a href="#Actuator" title="https://saref.etsi.org/core/Actuator">Actuator</a> + <sup class="type-c" title="class">c</sup>, <a href="#Appliance" title="https://saref.etsi.org/core/Appliance">Appliance</a> + <sup class="type-c" title="class">c</sup>, <a href="#HVAC" title="https://saref.etsi.org/core/HVAC">HVAC</a> + <sup class="type-c" title="class">c</sup>, <a href="#Meter" title="https://saref.etsi.org/core/Meter">Meter</a> + <sup class="type-c" title="class">c</sup>, <a href="#Sensor" title="https://saref.etsi.org/core/Sensor">Sensor</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#controlsProperty" title="https://saref.etsi.org/core/controlsProperty">controls property</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasFunction" title="https://saref.etsi.org/core/hasFunction">has function</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasProfile" title="https://saref.etsi.org/core/hasProfile">has profile</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasState" title="https://saref.etsi.org/core/hasState">has state</a> + <sup class="type-op" title="object property">op</sup>, <a href="#makesMeasurement" title="https://saref.etsi.org/core/makesMeasurement">makes measurement</a> + <sup class="type-op" title="object property">op</sup>, <a href="#measuresProperty" title="https://saref.etsi.org/core/measuresProperty">measures property</a> + <sup class="type-op" title="object property">op</sup>, <a href="#offers" title="https://saref.etsi.org/core/offers">offers</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#isControlledByDevice" title="https://saref.etsi.org/core/isControlledByDevice">is controlled by device</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isMeasuredByDevice" title="https://saref.etsi.org/core/isMeasuredByDevice">is measured by device</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isOfferedBy" title="https://saref.etsi.org/core/isOfferedBy">is offered by</a> + <sup class="type-op" title="object property">op</sup>, <a href="#measurementMadeBy" title="https://saref.etsi.org/core/measurementMadeBy">measurement made by</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="DoorSwitch"> + <h3>Door switch<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/DoorSwitch</p> + <div class="comment"> + <span class="markdown">A switch that performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState. A saref:DoorSwitch is typically used to accomplish saref:Safety.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Switch" title="https://saref.etsi.org/core/Switch">Switch</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Electricity"> + <h3>Electricity<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Electricity</p> + <div class="comment"> + <span class="markdown">A type of commodity</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Commodity" title="https://saref.etsi.org/core/Commodity">Commodity</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Energy"> + <h3>Energy<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Energy</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. </span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="EnergyUnit"> + <h3>Energy unit<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/EnergyUnit</p> + <div class="comment"> + <span class="markdown">The unit of measure for energy</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="EventFunction"> + <h3>Event function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/EventFunction</p> + <div class="comment"> + <span class="markdown">A function that allows to notify about some relevant activity; e.g., that a certain threshold value has been exceeded or that some object has moved.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#hasThresholdMeasurement" + title="https://saref.etsi.org/core/hasThresholdMeasurement">has threshold measurement</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="FeatureOfInterest"> + <h3>Feature of interest<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/FeatureOfInterest</p> + <div class="comment"> + <span class="markdown">A feature of interest represents any real world entity from which a property is measured.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>is in domain of</dt> + <dd> + <a href="#hasMeasurement" title="https://saref.etsi.org/core/hasMeasurement">has measurement</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasProperty" title="https://saref.etsi.org/core/hasProperty">has property</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#isPropertyOf" title="https://saref.etsi.org/core/isPropertyOf">is property of</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isMeasurementOf" title="https://saref.etsi.org/core/isMeasurementOf">isMeasurementOf</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Function"> + <h3>Function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Function</p> + <div class="comment"> + <span class="markdown">The functionality necessary to accomplish the task for which a device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. </span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>has sub-classes</dt> + <dd> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + <sup class="type-c" title="class">c</sup>, <a href="#EventFunction" title="https://saref.etsi.org/core/EventFunction">Event function</a> + <sup class="type-c" title="class">c</sup>, <a href="#MeteringFunction" title="https://saref.etsi.org/core/MeteringFunction">Metering function</a> + <sup class="type-c" title="class">c</sup>, <a href="#SensingFunction" title="https://saref.etsi.org/core/SensingFunction">Sensing function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#hasCommand" title="https://saref.etsi.org/core/hasCommand">has command</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#hasFunction" title="https://saref.etsi.org/core/hasFunction">has function</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isCommandOf" title="https://saref.etsi.org/core/isCommandOf">is command of</a> + <sup class="type-op" title="object property">op</sup>, <a href="#represents" title="https://saref.etsi.org/core/represents">represents</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Gas"> + <h3>Gas<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Gas</p> + <div class="comment"> + <span class="markdown">A type of commodity</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Commodity" title="https://saref.etsi.org/core/Commodity">Commodity</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="GetCommand"> + <h3>Get command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/GetCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#GetCurrentMeterValueCommand" + title="https://saref.etsi.org/core/GetCurrentMeterValueCommand">Get current meter value command</a> + <sup class="type-c" title="class">c</sup>, <a href="#GetMeterDataCommand" title="https://saref.etsi.org/core/GetMeterDataCommand">Get meter data command</a> + <sup class="type-c" title="class">c</sup>, <a href="#GetMeterHistoryCommand" + title="https://saref.etsi.org/core/GetMeterHistoryCommand">Get meter history command</a> + <sup class="type-c" title="class">c</sup>, <a href="#GetSensingDataCommand" + title="https://saref.etsi.org/core/GetSensingDataCommand">Get sensing data command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="GetCurrentMeterValueCommand"> + <h3>Get current meter value command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/GetCurrentMeterValueCommand</p> + <div class="comment"> + <span class="markdown">A type of get command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="GetMeterDataCommand"> + <h3>Get meter data command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/GetMeterDataCommand</p> + <div class="comment"> + <span class="markdown">A type of get command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="GetMeterHistoryCommand"> + <h3>Get meter history command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/GetMeterHistoryCommand</p> + <div class="comment"> + <span class="markdown">A type of get command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="GetSensingDataCommand"> + <h3>Get sensing data command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/GetSensingDataCommand</p> + <div class="comment"> + <span class="markdown">A type of get command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Humidity"> + <h3>Humidity<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Humidity</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="HVAC"> + <h3>HVAC<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/HVAC</p> + <div class="comment"> + <span class="markdown">Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort. A saref:HVAC is typically used to accomplish saref:Comfort.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="IlluminanceUnit"> + <h3>Illuminance unit<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/IlluminanceUnit</p> + <div class="comment"> + <span class="markdown">The unit of measure for light</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="LevelControlFunction"> + <h3>Level control function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/LevelControlFunction</p> + <div class="comment"> + <span class="markdown">An actuating function that allows to do level adjustments of a property in a certain range (e.g., 0%-100%), such as dimming a light in a room or setting the speed of an electric motor. </span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Light"> + <h3>Light<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Light</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="LightSwitch"> + <h3>Light switch<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/LightSwitch</p> + <div class="comment"> + <span class="markdown">A switch that performs the saref:OnOffFunction, controls the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service. A saref:LightSwitch is typically used to accomplish saref:Lighting.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Switch" title="https://saref.etsi.org/core/Switch">Switch</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Measurement"> + <h3>Measurement<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Measurement</p> + <div class="comment"> + <span class="markdown">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>is in domain of</dt> + <dd> + <a href="#isMeasuredIn" title="https://saref.etsi.org/core/isMeasuredIn">is measured in</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isMeasurementOf" title="https://saref.etsi.org/core/isMeasurementOf">isMeasurementOf</a> + <sup class="type-op" title="object property">op</sup>, <a href="#measurementMadeBy" title="https://saref.etsi.org/core/measurementMadeBy">measurement made by</a> + <sup class="type-op" title="object property">op</sup>, <a href="#relatesToProperty" title="https://saref.etsi.org/core/relatesToProperty">relates to property</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#hasMeasurement" title="https://saref.etsi.org/core/hasMeasurement">has measurement</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasMeterReading" title="https://saref.etsi.org/core/hasMeterReading">has meter reading</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasSensingRange" title="https://saref.etsi.org/core/hasSensingRange">has sensing range</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasThresholdMeasurement" + title="https://saref.etsi.org/core/hasThresholdMeasurement">has threshold measurement</a> + <sup class="type-op" title="object property">op</sup>, <a href="#makesMeasurement" title="https://saref.etsi.org/core/makesMeasurement">makes measurement</a> + <sup class="type-op" title="object property">op</sup>, <a href="#relatesToMeasurement" title="https://saref.etsi.org/core/relatesToMeasurement">relates to measurement</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Meter"> + <h3>Meter<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Meter</p> + <div class="comment"> + <span class="markdown">A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="MeteringFunction"> + <h3>Metering function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/MeteringFunction</p> + <div class="comment"> + <span class="markdown">A function that allows to get data from a meter, such as current meter reading or instantaneous demand</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#hasMeterReading" title="https://saref.etsi.org/core/hasMeterReading">has meter reading</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasMeterReadingType" title="https://saref.etsi.org/core/hasMeterReadingType">has meter reading type</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Motion"> + <h3>Motion<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Motion</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="MultiLevelState"> + <h3>Multi level state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/MultiLevelState</p> + <div class="comment"> + <span class="markdown">A type of state</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="NotifyCommand"> + <h3>Notify command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/NotifyCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Occupancy"> + <h3>Occupancy<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Occupancy</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OffCommand"> + <h3>Off command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OffCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#OnCommand" title="https://saref.etsi.org/core/OnCommand">On command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OffState"> + <h3>Off state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OffState</p> + <div class="comment"> + <span class="markdown">The state of a device that is Off</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#OnOffState" title="https://saref.etsi.org/core/OnOffState">On off state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OnCommand"> + <h3>On command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OnCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#OffCommand" title="https://saref.etsi.org/core/OffCommand">Off command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OnOffFunction"> + <h3>On off function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OnOffFunction</p> + <div class="comment"> + <span class="markdown">An actuating function that allows to switch on and off an actuator</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OnOffState"> + <h3>On off state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OnOffState</p> + <div class="comment"> + <span class="markdown">A type of state</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#OffState" title="https://saref.etsi.org/core/OffState">Off state</a> + <sup class="type-c" title="class">c</sup>, <a href="#OnState" title="https://saref.etsi.org/core/OnState">On state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OnState"> + <h3>On state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OnState</p> + <div class="comment"> + <span class="markdown">The state of a device that is On</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#OnOffState" title="https://saref.etsi.org/core/OnOffState">On off state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OpenCloseFunction"> + <h3>Open close function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OpenCloseFunction</p> + <div class="comment"> + <span class="markdown">An actuating function that allows to open and close a device</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OpenCloseState"> + <h3>Open close state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OpenCloseState</p> + <div class="comment"> + <span class="markdown">A type of state</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#CloseState" title="https://saref.etsi.org/core/CloseState">Close state</a> + <sup class="type-c" title="class">c</sup>, <a href="#OpenState" title="https://saref.etsi.org/core/OpenState">Open state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OpenCommand"> + <h3>Open command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OpenCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#CloseCommand" title="https://saref.etsi.org/core/CloseCommand">Close command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="OpenState"> + <h3>Open state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/OpenState</p> + <div class="comment"> + <span class="markdown">The state of a device that is OPEN </span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#OpenCloseState" title="https://saref.etsi.org/core/OpenCloseState">Open close state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="PauseCommand"> + <h3>Pause command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/PauseCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Power"> + <h3>Power<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Power</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="PowerUnit"> + <h3>Power unit<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/PowerUnit</p> + <div class="comment"> + <span class="markdown">The unit of measure for power</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Pressure"> + <h3>Pressure<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Pressure</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="PressureUnit"> + <h3>Pressure unit<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/PressureUnit</p> + <div class="comment"> + <span class="markdown">The unit of measure for pressure</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Price"> + <h3>Price<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Price</p> + <div class="comment"> + <span class="markdown">A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#hasPrice" title="https://saref.etsi.org/core/hasPrice">has price</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Profile"> + <h3>Profile<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Profile</p> + <div class="comment"> + <span class="markdown">A specification associated to a device to collect information about a certain Property (e.g., Energy) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property (saref:isAbout), can be calculated over a time span (saref:hasTime) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>is in range of</dt> + <dd> + <a href="#hasProfile" title="https://saref.etsi.org/core/hasProfile">has profile</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Property"> + <h3>Property<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Property</p> + <div class="comment"> + <span class="markdown">A quality of a feature of interest that can be measured; an aspect of a feature of interest that is intrinsic to and cannot exist without the feature</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>has sub-classes</dt> + <dd> + <a href="#Energy" title="https://saref.etsi.org/core/Energy">Energy</a> + <sup class="type-c" title="class">c</sup>, <a href="#Humidity" title="https://saref.etsi.org/core/Humidity">Humidity</a> + <sup class="type-c" title="class">c</sup>, <a href="#Light" title="https://saref.etsi.org/core/Light">Light</a> + <sup class="type-c" title="class">c</sup>, <a href="#Motion" title="https://saref.etsi.org/core/Motion">Motion</a> + <sup class="type-c" title="class">c</sup>, <a href="#Occupancy" title="https://saref.etsi.org/core/Occupancy">Occupancy</a> + <sup class="type-c" title="class">c</sup>, <a href="#Power" title="https://saref.etsi.org/core/Power">Power</a> + <sup class="type-c" title="class">c</sup>, <a href="#Pressure" title="https://saref.etsi.org/core/Pressure">Pressure</a> + <sup class="type-c" title="class">c</sup>, <a href="#Price" title="https://saref.etsi.org/core/Price">Price</a> + <sup class="type-c" title="class">c</sup>, <a href="#Smoke" title="https://saref.etsi.org/core/Smoke">Smoke</a> + <sup class="type-c" title="class">c</sup>, <a href="#Temperature" title="https://saref.etsi.org/core/Temperature">Temperature</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#isControlledByDevice" title="https://saref.etsi.org/core/isControlledByDevice">is controlled by device</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isMeasuredByDevice" title="https://saref.etsi.org/core/isMeasuredByDevice">is measured by device</a> + <sup class="type-op" title="object property">op</sup>, <a href="#isPropertyOf" title="https://saref.etsi.org/core/isPropertyOf">is property of</a> + <sup class="type-op" title="object property">op</sup>, <a href="#relatesToMeasurement" title="https://saref.etsi.org/core/relatesToMeasurement">relates to measurement</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#controlsProperty" title="https://saref.etsi.org/core/controlsProperty">controls property</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasMeterReadingType" title="https://saref.etsi.org/core/hasMeterReadingType">has meter reading type</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasProperty" title="https://saref.etsi.org/core/hasProperty">has property</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasSensorType" title="https://saref.etsi.org/core/hasSensorType">has sensor type</a> + <sup class="type-op" title="object property">op</sup>, <a href="#measuresProperty" title="https://saref.etsi.org/core/measuresProperty">measures property</a> + <sup class="type-op" title="object property">op</sup>, <a href="#relatesToProperty" title="https://saref.etsi.org/core/relatesToProperty">relates to property</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="SensingFunction"> + <h3>Sensing function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/SensingFunction</p> + <div class="comment"> + <span class="markdown">A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#hasSensingRange" title="https://saref.etsi.org/core/hasSensingRange">has sensing range</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasSensorType" title="https://saref.etsi.org/core/hasSensorType">has sensor type</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Sensor"> + <h3>Sensor<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Sensor</p> + <div class="comment"> + <span class="markdown">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#SmokeSensor" title="https://saref.etsi.org/core/SmokeSensor">Smoke sensor</a> + <sup class="type-c" title="class">c</sup>, <a href="#TemperatureSensor" title="https://saref.etsi.org/core/TemperatureSensor">Temperature sensor</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Service"> + <h3>Service<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Service</p> + <div class="comment"> + <span class="markdown">A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd/> + <dt>has sub-classes</dt> + <dd> + <a href="#SwitchOnService" title="https://saref.etsi.org/core/SwitchOnService">Switch on service</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in domain of</dt> + <dd> + <a href="#isOfferedBy" title="https://saref.etsi.org/core/isOfferedBy">is offered by</a> + <sup class="type-op" title="object property">op</sup>, <a href="#represents" title="https://saref.etsi.org/core/represents">represents</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#offers" title="https://saref.etsi.org/core/offers">offers</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="SetAbsoluteLevelCommand"> + <h3>Set absolute level command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/SetAbsoluteLevelCommand</p> + <div class="comment"> + <span class="markdown">A type of set level command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#SetLevelCommand" title="https://saref.etsi.org/core/SetLevelCommand">Set level command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="SetLevelCommand"> + <h3>Set level command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/SetLevelCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#SetAbsoluteLevelCommand" + title="https://saref.etsi.org/core/SetAbsoluteLevelCommand">Set absolute level command</a> + <sup class="type-c" title="class">c</sup>, <a href="#SetRelativeLevelCommand" + title="https://saref.etsi.org/core/SetRelativeLevelCommand">Set relative level command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="SetRelativeLevelCommand"> + <h3>Set relative level command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/SetRelativeLevelCommand</p> + <div class="comment"> + <span class="markdown">A type of set level command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#SetLevelCommand" title="https://saref.etsi.org/core/SetLevelCommand">Set level command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Smoke"> + <h3>Smoke<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Smoke</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="SmokeSensor"> + <h3>Smoke sensor<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/SmokeSensor</p> + <div class="comment"> + <span class="markdown">A sensor that performs the saref:SensingFunction and the saref:EventFunction, and is used for the purpose of sensing a property of type saref:Smoke. A saref:SmokeSensor is typically used to saref:accomplish saref:Safety.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Sensor" title="https://saref.etsi.org/core/Sensor">Sensor</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StartCommand"> + <h3>Start command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StartCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#StopCommand" title="https://saref.etsi.org/core/StopCommand">Stop command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StartState"> + <h3>Start state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StartState</p> + <div class="comment"> + <span class="markdown">The state of a device that is STARTED</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#StartStopState" title="https://saref.etsi.org/core/StartStopState">Start stop state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StartStopFunction"> + <h3>Start stop function<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StartStopFunction</p> + <div class="comment"> + <span class="markdown">An actuating function that allows to start and stop a device</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StartStopState"> + <h3>Start stop state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StartStopState</p> + <div class="comment"> + <span class="markdown">A type of state</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#StartState" title="https://saref.etsi.org/core/StartState">Start state</a> + <sup class="type-c" title="class">c</sup>, <a href="#StopState" title="https://saref.etsi.org/core/StopState">Stop state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="State"> + <h3>State<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/State</p> + <div class="comment"> + <span class="markdown">The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended.</span> + </div> + <dl class="description"> + <dt>has sub-classes</dt> + <dd> + <a href="#MultiLevelState" title="https://saref.etsi.org/core/MultiLevelState">Multi level state</a> + <sup class="type-c" title="class">c</sup>, <a href="#OnOffState" title="https://saref.etsi.org/core/OnOffState">On off state</a> + <sup class="type-c" title="class">c</sup>, <a href="#OpenCloseState" title="https://saref.etsi.org/core/OpenCloseState">Open close state</a> + <sup class="type-c" title="class">c</sup>, <a href="#StartStopState" title="https://saref.etsi.org/core/StartStopState">Start stop state</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#actsUpon" title="https://saref.etsi.org/core/actsUpon">acts upon</a> + <sup class="type-op" title="object property">op</sup>, <a href="#hasState" title="https://saref.etsi.org/core/hasState">has state</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="StepDownCommand"> + <h3>Step down command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StepDownCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#StepUpCommand" title="https://saref.etsi.org/core/StepUpCommand">Step up command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StepUpCommand"> + <h3>Step up command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StepUpCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#StepDownCommand" title="https://saref.etsi.org/core/StepDownCommand">Step down command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StopCommand"> + <h3>Stop command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StopCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is disjoint with</dt> + <dd> + <a href="#StartCommand" title="https://saref.etsi.org/core/StartCommand">Start command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="StopState"> + <h3>Stop state<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/StopState</p> + <div class="comment"> + <span class="markdown">The state of a device that is STOPPED</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#StartStopState" title="https://saref.etsi.org/core/StartStopState">Start stop state</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Switch"> + <h3>Switch<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Switch</p> + <div class="comment"> + <span class="markdown">A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Actuator" title="https://saref.etsi.org/core/Actuator">Actuator</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has sub-classes</dt> + <dd> + <a href="#DoorSwitch" title="https://saref.etsi.org/core/DoorSwitch">Door switch</a> + <sup class="type-c" title="class">c</sup>, <a href="#LightSwitch" title="https://saref.etsi.org/core/LightSwitch">Light switch</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="SwitchOnService"> + <h3>Switch on service<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/SwitchOnService</p> + <div class="comment"> + <span class="markdown">A type of service that represents an on/off function to the network</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Service" title="https://saref.etsi.org/core/Service">Service</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Task"> + <h3>Task<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Task</p> + <div class="comment"> + <span class="markdown">The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended. Tasks can be accomplished by devices (saref:isAccomplishedBy).</span> + </div> + <dl class="description"> + <dt>is in domain of</dt> + <dd> + <a href="#isAccomplishedBy" title="https://saref.etsi.org/core/isAccomplishedBy">is accomplished by</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#accomplishes" title="https://saref.etsi.org/core/accomplishes">accomplishes</a> + <sup class="type-op" title="object property">op</sup> + </dd> + <dt>has members</dt> + <dd> + <a href="#Cleaning" title="https://saref.etsi.org/core/Cleaning">Cleaning</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#Comfort" title="https://saref.etsi.org/core/Comfort">Comfort</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#Drying" title="https://saref.etsi.org/core/Drying">Drying</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#EnergyEfficiency" title="https://saref.etsi.org/core/EnergyEfficiency">EnergyEfficiency</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#Entertainment" title="https://saref.etsi.org/core/Entertainment">Entertainment</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#Lighting" title="https://saref.etsi.org/core/Lighting">Lighting</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#MeterReading" title="https://saref.etsi.org/core/MeterReading">Meter reading</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#Safety" title="https://saref.etsi.org/core/Safety">Safety</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#Washing" title="https://saref.etsi.org/core/Washing">Washing</a> + <sup class="type-ni" title="named individual">ni</sup>, <a href="#WellBeing" title="https://saref.etsi.org/core/WellBeing">WellBeing</a> + <sup class="type-ni" title="named individual">ni</sup> + </dd> + </dl> + </div> + <div class="entity" id="Temperature"> + <h3>Temperature<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Temperature</p> + <div class="comment"> + <span class="markdown">A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="TemperatureSensor"> + <h3>Temperature sensor<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/TemperatureSensor</p> + <div class="comment"> + <span class="markdown">A sensor that is used for the purpose of sensing a property of type saref:Temperature. A saref:TemperatureSensor is typically used to saref:accomplish saref:Comfort.</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Sensor" title="https://saref.etsi.org/core/Sensor">Sensor</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="TemperatureUnit"> + <h3>Temperature unit<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/TemperatureUnit</p> + <div class="comment"> + <span class="markdown">The unit of measure for temperature</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Time"> + <h3>Time<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Time</p> + <div class="comment"> + <span class="markdown">A class that allows to specify the time concept.</span> + </div> + <dl class="description"> + <dt>is in range of</dt> + <dd> + <a href="#hasTime" title="https://saref.etsi.org/core/hasTime">has time</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="ToggleCommand"> + <h3>Toggle command<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/ToggleCommand</p> + <div class="comment"> + <span class="markdown">A type of command</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="UnitOfMeasure"> + <h3>Unit of measure<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/UnitOfMeasure</p> + <div class="comment"> + <span class="markdown">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM).</span> + </div> + <dl class="description"> + <dt>has sub-classes</dt> + <dd> + <a href="#Currency" title="https://saref.etsi.org/core/Currency">Currency</a> + <sup class="type-c" title="class">c</sup>, <a href="#EnergyUnit" title="https://saref.etsi.org/core/EnergyUnit">Energy unit</a> + <sup class="type-c" title="class">c</sup>, <a href="#IlluminanceUnit" title="https://saref.etsi.org/core/IlluminanceUnit">Illuminance unit</a> + <sup class="type-c" title="class">c</sup>, <a href="#PowerUnit" title="https://saref.etsi.org/core/PowerUnit">Power unit</a> + <sup class="type-c" title="class">c</sup>, <a href="#PressureUnit" title="https://saref.etsi.org/core/PressureUnit">Pressure unit</a> + <sup class="type-c" title="class">c</sup>, <a href="#TemperatureUnit" title="https://saref.etsi.org/core/TemperatureUnit">Temperature unit</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is in range of</dt> + <dd> + <a href="#isMeasuredIn" title="https://saref.etsi.org/core/isMeasuredIn">is measured in</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + <div class="entity" id="Water"> + <h3>Water<sup class="type-c" title="class">c</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#classes">Class ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Water</p> + <div class="comment"> + <span class="markdown">A type of commodity</span> + </div> + <dl class="description"> + <dt>has super-classes</dt> + <dd> + <a href="#Commodity" title="https://saref.etsi.org/core/Commodity">Commodity</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> +</div><div id="objectproperties"> + <h3 id="properties" class="list">Object Properties</h3> + <ul class="hlist"> + <li> + <a href="#accomplishes" title="https://saref.etsi.org/core/accomplishes">accomplishes</a> + </li> + <li> + <a href="#actsUpon" title="https://saref.etsi.org/core/actsUpon">acts upon</a> + </li> + <li> + <a href="#consistsOf" title="https://saref.etsi.org/core/consistsOf">consists of</a> + </li> + <li> + <a href="#controlsProperty" title="https://saref.etsi.org/core/controlsProperty">controls property</a> + </li> + <li> + <a href="#hasCommand" title="https://saref.etsi.org/core/hasCommand">has command</a> + </li> + <li> + <a href="#hasFunction" title="https://saref.etsi.org/core/hasFunction">has function</a> + </li> + <li> + <a href="#hasMeasurement" title="https://saref.etsi.org/core/hasMeasurement">has measurement</a> + </li> + <li> + <a href="#hasMeterReading" title="https://saref.etsi.org/core/hasMeterReading">has meter reading</a> + </li> + <li> + <a href="#hasMeterReadingType" title="https://saref.etsi.org/core/hasMeterReadingType">has meter reading type</a> + </li> + <li> + <a href="#hasPrice" title="https://saref.etsi.org/core/hasPrice">has price</a> + </li> + <li> + <a href="#hasProfile" title="https://saref.etsi.org/core/hasProfile">has profile</a> + </li> + <li> + <a href="#hasProperty" title="https://saref.etsi.org/core/hasProperty">has property</a> + </li> + <li> + <a href="#hasSensingRange" title="https://saref.etsi.org/core/hasSensingRange">has sensing range</a> + </li> + <li> + <a href="#hasSensorType" title="https://saref.etsi.org/core/hasSensorType">has sensor type</a> + </li> + <li> + <a href="#hasState" title="https://saref.etsi.org/core/hasState">has state</a> + </li> + <li> + <a href="#hasThresholdMeasurement" + title="https://saref.etsi.org/core/hasThresholdMeasurement">has threshold measurement</a> + </li> + <li> + <a href="#hasTime" title="https://saref.etsi.org/core/hasTime">has time</a> + </li> + <li> + <a href="#hasTypicalConsumption" + title="https://saref.etsi.org/core/hasTypicalConsumption">has typical consumption</a> + </li> + <li> + <a href="#isAccomplishedBy" title="https://saref.etsi.org/core/isAccomplishedBy">is accomplished by</a> + </li> + <li> + <a href="#isCommandOf" title="https://saref.etsi.org/core/isCommandOf">is command of</a> + </li> + <li> + <a href="#isControlledByDevice" title="https://saref.etsi.org/core/isControlledByDevice">is controlled by device</a> + </li> + <li> + <a href="#isMeasuredByDevice" title="https://saref.etsi.org/core/isMeasuredByDevice">is measured by device</a> + </li> + <li> + <a href="#isMeasuredIn" title="https://saref.etsi.org/core/isMeasuredIn">is measured in</a> + </li> + <li> + <a href="#isOfferedBy" title="https://saref.etsi.org/core/isOfferedBy">is offered by</a> + </li> + <li> + <a href="#isPropertyOf" title="https://saref.etsi.org/core/isPropertyOf">is property of</a> + </li> + <li> + <a href="#isUsedFor" title="https://saref.etsi.org/core/isUsedFor">is used for</a> + </li> + <li> + <a href="#isAbout" title="https://saref.etsi.org/core/isAbout">isAbout</a> + </li> + <li> + <a href="#isMeasurementOf" title="https://saref.etsi.org/core/isMeasurementOf">isMeasurementOf</a> + </li> + <li> + <a href="#makesMeasurement" title="https://saref.etsi.org/core/makesMeasurement">makes measurement</a> + </li> + <li> + <a href="#measurementMadeBy" title="https://saref.etsi.org/core/measurementMadeBy">measurement made by</a> + </li> + <li> + <a href="#measuresProperty" title="https://saref.etsi.org/core/measuresProperty">measures property</a> + </li> + <li> + <a href="#offers" title="https://saref.etsi.org/core/offers">offers</a> + </li> + <li> + <a href="#relatesToMeasurement" title="https://saref.etsi.org/core/relatesToMeasurement">relates to measurement</a> + </li> + <li> + <a href="#relatesToProperty" title="https://saref.etsi.org/core/relatesToProperty">relates to property</a> + </li> + <li> + <a href="#represents" title="https://saref.etsi.org/core/represents">represents</a> + </li> + </ul> + <div class="entity" id="accomplishes"> + <h3>accomplishes<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/accomplishes</p> + <div class="comment"> + <span class="markdown">A relationship between a certain entity (e.g., a device) and the task it accomplishes</span> + </div> + <div class="description"> + <dl> + <dt>has range</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#isAccomplishedBy" title="https://saref.etsi.org/core/isAccomplishedBy">is accomplished by</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="actsUpon"> + <h3>acts upon<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/actsUpon</p> + <div class="comment"> + <span class="markdown">A relationship between a command and a state</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="consistsOf"> + <h3>consists of<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/consistsOf</p> + <div class="comment"> + <span class="markdown">A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)</span> + </div> + </div> + <div class="entity" id="controlsProperty"> + <h3>controls property<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/controlsProperty</p> + <div class="comment"> + <span class="markdown">A relationship specifying the property that can be controlled by a certain device</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasCommand"> + <h3>has command<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasCommand</p> + <div class="comment"> + <span class="markdown">A relationship between a function and a command</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#isCommandOf" title="https://saref.etsi.org/core/isCommandOf">is command of</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasFunction"> + <h3>has function<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasFunction</p> + <div class="comment"> + <span class="markdown">A relationship identifying the function of a device</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasMeasurement"> + <h3>has measurement<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasMeasurement</p> + <div class="comment"> + <span class="markdown">A relationship between a feature of interest and a measurement about it</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#FeatureOfInterest" title="https://saref.etsi.org/core/FeatureOfInterest">Feature of interest</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#isMeasurementOf" title="https://saref.etsi.org/core/isMeasurementOf">isMeasurementOf</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasMeterReading"> + <h3>has meter reading<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasMeterReading</p> + <div class="comment"> + <span class="markdown">A relationship between a metering function and the measurement of the reading</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#MeteringFunction" title="https://saref.etsi.org/core/MeteringFunction">Metering function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasMeterReadingType"> + <h3>has meter reading type<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasMeterReadingType</p> + <div class="comment"> + <span class="markdown">A relationship identifying the reading type of a metering function (e.g., Water, Gas, Pressure , Energy , Power, etc.)</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#MeteringFunction" title="https://saref.etsi.org/core/MeteringFunction">Metering function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasPrice"> + <h3>has price<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasPrice</p> + <div class="comment"> + <span class="markdown">A relationship indentifying the price associated to an entity</span> + </div> + <div class="description"> + <dl> + <dt>has range</dt> + <dd> + <a href="#Price" title="https://saref.etsi.org/core/Price">Price</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasProfile"> + <h3>has profile<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasProfile</p> + <div class="comment"> + <span class="markdown">A relationship associating a profile to a certain device</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Profile" title="https://saref.etsi.org/core/Profile">Profile</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasProperty"> + <h3>has property<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasProperty</p> + <div class="comment"> + <span class="markdown">A relationship between a feature of interest and a property of that feature</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#FeatureOfInterest" title="https://saref.etsi.org/core/FeatureOfInterest">Feature of interest</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#isPropertyOf" title="https://saref.etsi.org/core/isPropertyOf">is property of</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasSensingRange"> + <h3>has sensing range<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasSensingRange</p> + <div class="comment"> + <span class="markdown">A relationship between a sensing function and a measurement identifying the range of a sensor detection</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#SensingFunction" title="https://saref.etsi.org/core/SensingFunction">Sensing function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasSensorType"> + <h3>has sensor type<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasSensorType</p> + <div class="comment"> + <span class="markdown">A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) </span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#SensingFunction" title="https://saref.etsi.org/core/SensingFunction">Sensing function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasState"> + <h3>has state<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasState</p> + <div class="comment"> + <span class="markdown">A relationship identifying the type of state of a device</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasThresholdMeasurement"> + <h3>has threshold measurement<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasThresholdMeasurement</p> + <div class="comment"> + <span class="markdown">A relationship associated with an event function to notify that a certain threshold measurement has been exceeded</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#EventFunction" title="https://saref.etsi.org/core/EventFunction">Event function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasTime"> + <h3>has time<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasTime</p> + <div class="comment"> + <span class="markdown">A relationship to associate time information to an entity</span> + </div> + <div class="description"> + <dl> + <dt>has range</dt> + <dd> + <a href="#Time" title="https://saref.etsi.org/core/Time">Time</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="hasTypicalConsumption"> + <h3>has typical consumption<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasTypicalConsumption</p> + <div class="comment"> + <span class="markdown">A relationship identifying the typical (energy or power) consumption of a device</span> + </div> + </div> + <div class="entity" id="isAccomplishedBy"> + <h3>is accomplished by<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isAccomplishedBy</p> + <div class="comment"> + <span class="markdown">A relationship identifying an entity (e.g., a device) that can accomplish a task.</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#accomplishes" title="https://saref.etsi.org/core/accomplishes">accomplishes</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isCommandOf"> + <h3>is command of<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isCommandOf</p> + <div class="comment"> + <span class="markdown">A relationship between a command and a function.</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#hasCommand" title="https://saref.etsi.org/core/hasCommand">has command</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isControlledByDevice"> + <h3>is controlled by device<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isControlledByDevice</p> + <div class="comment"> + <span class="markdown">A relationship specifying the devices that can control a certain property</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isMeasuredByDevice"> + <h3>is measured by device<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isMeasuredByDevice</p> + <div class="comment"> + <span class="markdown">A relationship specifying the devices that can measure a certain property</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isMeasuredIn"> + <h3>is measured in<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isMeasuredIn</p> + <div class="comment"> + <span class="markdown">A relationship identifying the unit of measure used for a certain entity.</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isOfferedBy"> + <h3>is offered by<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isOfferedBy</p> + <div class="comment"> + <span class="markdown">A relationship between a service and a device that offers the service</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Service" title="https://saref.etsi.org/core/Service">Service</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#offers" title="https://saref.etsi.org/core/offers">offers</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isPropertyOf"> + <h3>is property of<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isPropertyOf</p> + <div class="comment"> + <span class="markdown">A relationship between a property and the feature of interest it belongs to</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#FeatureOfInterest" title="https://saref.etsi.org/core/FeatureOfInterest">Feature of interest</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#hasProperty" title="https://saref.etsi.org/core/hasProperty">has property</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="isUsedFor"> + <h3>is used for<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isUsedFor</p> + <div class="comment"> + <span class="markdown">A relationship specifying the commodity for which a device is used for</span> + </div> + </div> + <div class="entity" id="isAbout"> + <h3>isAbout<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isAbout</p> + <div class="comment"> + <span class="markdown">A relationship identifying what an entity, such as a profile, is about</span> + </div> + </div> + <div class="entity" id="isMeasurementOf"> + <h3>isMeasurementOf<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/isMeasurementOf</p> + <div class="comment"> + <span class="markdown">A relationship between a measurement and the feature of interest whose quality was measured</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#FeatureOfInterest" title="https://saref.etsi.org/core/FeatureOfInterest">Feature of interest</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#hasMeasurement" title="https://saref.etsi.org/core/hasMeasurement">has measurement</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="makesMeasurement"> + <h3>makes measurement<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/makesMeasurement</p> + <div class="comment"> + <span class="markdown">A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates.</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#measurementMadeBy" title="https://saref.etsi.org/core/measurementMadeBy">measurement made by</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="measurementMadeBy"> + <h3>measurement made by<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/measurementMadeBy</p> + <div class="comment"> + <span class="markdown">A relation between a measurement and the device that made it.</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#makesMeasurement" title="https://saref.etsi.org/core/makesMeasurement">makes measurement</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="measuresProperty"> + <h3>measures property<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/measuresProperty</p> + <div class="comment"> + <span class="markdown">A relationship specifying the property that can be measured by a certain device</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="offers"> + <h3>offers<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/offers</p> + <div class="comment"> + <span class="markdown">A relationship between a device and a service</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Service" title="https://saref.etsi.org/core/Service">Service</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#isOfferedBy" title="https://saref.etsi.org/core/isOfferedBy">is offered by</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="relatesToMeasurement"> + <h3>relates to measurement<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/relatesToMeasurement</p> + <div class="comment"> + <span class="markdown">A relationship between a property and the measurements it relates to</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#relatesToProperty" title="https://saref.etsi.org/core/relatesToProperty">relates to property</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="relatesToProperty"> + <h3>relates to property<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/relatesToProperty</p> + <div class="comment"> + <span class="markdown">A relationship between a measurement and the property it relates to</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>is inverse of</dt> + <dd> + <a href="#relatesToMeasurement" title="https://saref.etsi.org/core/relatesToMeasurement">relates to measurement</a> + <sup class="type-op" title="object property">op</sup> + </dd> + </dl> + </div> + </div> + <div class="entity" id="represents"> + <h3>represents<sup class="type-op" title="object property">op</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#objectproperties">Object Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/represents</p> + <div class="comment"> + <span class="markdown">A relationship between a service and a function.</span> + </div> + <div class="description"> + <dl> + <dt>has domain</dt> + <dd> + <a href="#Service" title="https://saref.etsi.org/core/Service">Service</a> + <sup class="type-c" title="class">c</sup> + </dd> + <dt>has range</dt> + <dd> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + </div> +</div><div id="dataproperties"> + <h3 id="dataproperties-headline" class="list">Data Properties</h3> + <ul class="hlist"> + <li> + <a href="#hasDescription" title="https://saref.etsi.org/core/hasDescription">has description</a> + </li> + <li> + <a href="#hasManufacturer" title="https://saref.etsi.org/core/hasManufacturer">has manufacturer</a> + </li> + <li> + <a href="#hasModel" title="https://saref.etsi.org/core/hasModel">has model</a> + </li> + <li> + <a href="#hasTimestamp" title="https://saref.etsi.org/core/hasTimestamp">has timestamp</a> + </li> + <li> + <a href="#hasValue" title="https://saref.etsi.org/core/hasValue">has value</a> + </li> + </ul> + <div class="entity" id="hasDescription"> + <h3>has description<sup class="type-dp" title="data property">dp</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#dataproperties">Data Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasDescription</p> + <div class="comment"> + <span class="markdown">A relationship providing a description of an entity (e.g., device). The value is expected to be a string or a string with language tag.</span> + </div> + <dl> + <dt>Is deprecated</dt> + <dd>true</dd> + </dl> + </div> + <div class="entity" id="hasManufacturer"> + <h3>has manufacturer<sup class="type-dp" title="data property">dp</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#dataproperties">Data Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasManufacturer</p> + <div class="comment"> + <span class="markdown">A relationship identifying the manufacturer of an entity (e.g., device). The value is expected to be a string or a string with language tag.</span> + </div> + </div> + <div class="entity" id="hasModel"> + <h3>has model<sup class="type-dp" title="data property">dp</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#dataproperties">Data Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasModel</p> + <div class="comment"> + <span class="markdown">A relationship identifying the model of an entity (e.g., device). The value is expected to be a string or a string with language tag.</span> + </div> + </div> + <div class="entity" id="hasTimestamp"> + <h3>has timestamp<sup class="type-dp" title="data property">dp</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#dataproperties">Data Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasTimestamp</p> + <div class="comment"> + <span class="markdown">A relationship stating the timestamp of an entity (e.g. a measurement).</span> + </div> + </div> + <div class="entity" id="hasValue"> + <h3>has value<sup class="type-dp" title="data property">dp</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#dataproperties">Data Property ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/hasValue</p> + <div class="comment"> + <span class="markdown">A relationship defining the value of a certain property, e.g., energy or power. Note that, even if numeric values are expected to enable reasoning, measurement values could use other datatypes.</span> + </div> + </div> +</div><div id="namedindividuals"> + <h3 id="namedindividuals" class="list">Named Individuals</h3> + <ul class="hlist"> + <li> + <a href="#Cleaning" title="https://saref.etsi.org/core/Cleaning">Cleaning</a> + </li> + <li> + <a href="#Comfort" title="https://saref.etsi.org/core/Comfort">Comfort</a> + </li> + <li> + <a href="#Drying" title="https://saref.etsi.org/core/Drying">Drying</a> + </li> + <li> + <a href="#EnergyEfficiency" title="https://saref.etsi.org/core/EnergyEfficiency">EnergyEfficiency</a> + </li> + <li> + <a href="#Entertainment" title="https://saref.etsi.org/core/Entertainment">Entertainment</a> + </li> + <li> + <a href="#Lighting" title="https://saref.etsi.org/core/Lighting">Lighting</a> + </li> + <li> + <a href="#MeterReading" title="https://saref.etsi.org/core/MeterReading">Meter reading</a> + </li> + <li> + <a href="#Safety" title="https://saref.etsi.org/core/Safety">Safety</a> + </li> + <li> + <a href="#Washing" title="https://saref.etsi.org/core/Washing">Washing</a> + </li> + <li> + <a href="#WellBeing" title="https://saref.etsi.org/core/WellBeing">WellBeing</a> + </li> + </ul> + <div class="entity" id="Cleaning"> + <h3>Cleaning<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Cleaning</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Comfort"> + <h3>Comfort<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Comfort</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Drying"> + <h3>Drying<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Drying</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="EnergyEfficiency"> + <h3>EnergyEfficiency<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/EnergyEfficiency</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Entertainment"> + <h3>Entertainment<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Entertainment</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Lighting"> + <h3>Lighting<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Lighting</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="MeterReading"> + <h3>Meter reading<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/MeterReading</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Safety"> + <h3>Safety<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Safety</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="Washing"> + <h3>Washing<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/Washing</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> + <div class="entity" id="WellBeing"> + <h3>WellBeing<sup class="type-ni" title="named individual">ni</sup> + <span class="backlink"> back to <a href="#toc">ToC</a> or <a href="#namedindividuals">Named Individual ToC</a> + </span> + </h3> + <p> + <strong>IRI:</strong> https://saref.etsi.org/core/WellBeing</p> + <div class="comment"> + <span class="markdown">A type of task for which a device is designed</span> + </div> + <dl class="description"> + <dt>belongs to</dt> + <dd> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + <sup class="type-c" title="class">c</sup> + </dd> + </dl> + </div> +</div><div id="legend"> +<h2>Legend <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> +<div class="entity"> +<sup class="type-c" title="Classes">c</sup>: Classes <br/> +<sup class="type-op" title="Object Properties">op</sup>: Object Properties <br/> +<sup class="type-dp" title="Data Properties">dp</sup>: Data Properties <br/> +<sup class="type-ni" title="Named Individuals">ni</sup>: Named Individuals +</div> +</div> +</html> diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/description-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/description-en.html new file mode 100644 index 0000000000000000000000000000000000000000..32b4322449add253e456a7271f9c2265fc45abd6 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/description-en.html @@ -0,0 +1,11 @@ +<html> +<h2 id="desc" class="list">SAREF: the Smart Applications REFerence ontology: Description <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> + +<span class="markdown"> +Figure 1 shows an overview of the main classes of SAREF and their relationships.</span> + + +<center><img src="resources/images/SAREF figures-Overview.jpg" alt="SAREF ontology graphical overview." width="90%"> <figcaption>Figure 1. - SAREF overview.</figcaption></center> + + +</html> diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/introduction-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/introduction-en.html new file mode 100644 index 0000000000000000000000000000000000000000..3e8e1bd2ef65b774cb93e907866e3727c7642910 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/introduction-en.html @@ -0,0 +1,22 @@ +<html><h2 id="intro" class="list">Introduction <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> +<!-- <span class="markdown"> +This is a place holder text for the introduction. The introduction should briefly describe the ontology, its motivation, state of the art and goals.</span> --> +<div id="namespacedeclarations"> +<h3 id="ns" class="list">Namespace declarations</h3> +<div id="ns" align="center"> +<table> +<caption> <a href="#ns"> Table 1</a>: Namespaces used in the document </caption> +<tbody> +<tr><td><b>saref</b></td><td><https://saref.etsi.org/core/></td></tr> +<tr><td><b>forge-etsi-org</b></td><td><https://forge.etsi.org></td></tr> +<tr><td><b>owl</b></td><td><http://www.w3.org/2002/07/owl></td></tr> +<tr><td><b>rdf</b></td><td><http://www.w3.org/1999/02/22-rdf-syntax-ns></td></tr> +<tr><td><b>terms</b></td><td><http://purl.org/dc/terms></td></tr> +<tr><td><b>xsd</b></td><td><http://www.w3.org/2001/XMLSchema></td></tr> +<tr><td><b>rdfs</b></td><td><http://www.w3.org/2000/01/rdf-schema></td></tr> +<tr><td><b>vann</b></td><td><http://purl.org/vocab/vann></td></tr> +</tbody> +</table> +</div> +</div> +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/overview-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/overview-en.html new file mode 100644 index 0000000000000000000000000000000000000000..015556cb00fefc38301af92e214b4c6a427c2eb9 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/overview-en.html @@ -0,0 +1,410 @@ +<html><h2 id="overv" class="list">SAREF: the Smart Applications REFerence ontology: Overview <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> +<span class="markdown"> +This ontology has the following classes and properties.</span> +<h4>Classes</h4> +<ul class="hlist"> + <li> + <a href="#ActuatingFunction" title="https://saref.etsi.org/core/ActuatingFunction">Actuating function</a> + </li> + <li> + <a href="#Actuator" title="https://saref.etsi.org/core/Actuator">Actuator</a> + </li> + <li> + <a href="#Appliance" title="https://saref.etsi.org/core/Appliance">Appliance</a> + </li> + <li> + <a href="#CloseCommand" title="https://saref.etsi.org/core/CloseCommand">Close command</a> + </li> + <li> + <a href="#CloseState" title="https://saref.etsi.org/core/CloseState">Close state</a> + </li> + <li> + <a href="#Coal" title="https://saref.etsi.org/core/Coal">Coal</a> + </li> + <li> + <a href="#Command" title="https://saref.etsi.org/core/Command">Command</a> + </li> + <li> + <a href="#Commodity" title="https://saref.etsi.org/core/Commodity">Commodity</a> + </li> + <li> + <a href="#Currency" title="https://saref.etsi.org/core/Currency">Currency</a> + </li> + <li> + <a href="#Device" title="https://saref.etsi.org/core/Device">Device</a> + </li> + <li> + <a href="#DoorSwitch" title="https://saref.etsi.org/core/DoorSwitch">Door switch</a> + </li> + <li> + <a href="#Electricity" title="https://saref.etsi.org/core/Electricity">Electricity</a> + </li> + <li> + <a href="#Energy" title="https://saref.etsi.org/core/Energy">Energy</a> + </li> + <li> + <a href="#EnergyUnit" title="https://saref.etsi.org/core/EnergyUnit">Energy unit</a> + </li> + <li> + <a href="#EventFunction" title="https://saref.etsi.org/core/EventFunction">Event function</a> + </li> + <li> + <a href="#FeatureOfInterest" title="https://saref.etsi.org/core/FeatureOfInterest">Feature of interest</a> + </li> + <li> + <a href="#Function" title="https://saref.etsi.org/core/Function">Function</a> + </li> + <li> + <a href="#Gas" title="https://saref.etsi.org/core/Gas">Gas</a> + </li> + <li> + <a href="#GetCommand" title="https://saref.etsi.org/core/GetCommand">Get command</a> + </li> + <li> + <a href="#GetCurrentMeterValueCommand" + title="https://saref.etsi.org/core/GetCurrentMeterValueCommand">Get current meter value command</a> + </li> + <li> + <a href="#GetMeterDataCommand" title="https://saref.etsi.org/core/GetMeterDataCommand">Get meter data command</a> + </li> + <li> + <a href="#GetMeterHistoryCommand" + title="https://saref.etsi.org/core/GetMeterHistoryCommand">Get meter history command</a> + </li> + <li> + <a href="#GetSensingDataCommand" + title="https://saref.etsi.org/core/GetSensingDataCommand">Get sensing data command</a> + </li> + <li> + <a href="#Humidity" title="https://saref.etsi.org/core/Humidity">Humidity</a> + </li> + <li> + <a href="#HVAC" title="https://saref.etsi.org/core/HVAC">HVAC</a> + </li> + <li> + <a href="#IlluminanceUnit" title="https://saref.etsi.org/core/IlluminanceUnit">Illuminance unit</a> + </li> + <li> + <a href="#LevelControlFunction" + title="https://saref.etsi.org/core/LevelControlFunction">Level control function</a> + </li> + <li> + <a href="#Light" title="https://saref.etsi.org/core/Light">Light</a> + </li> + <li> + <a href="#LightSwitch" title="https://saref.etsi.org/core/LightSwitch">Light switch</a> + </li> + <li> + <a href="#Measurement" title="https://saref.etsi.org/core/Measurement">Measurement</a> + </li> + <li> + <a href="#Meter" title="https://saref.etsi.org/core/Meter">Meter</a> + </li> + <li> + <a href="#MeteringFunction" title="https://saref.etsi.org/core/MeteringFunction">Metering function</a> + </li> + <li> + <a href="#Motion" title="https://saref.etsi.org/core/Motion">Motion</a> + </li> + <li> + <a href="#MultiLevelState" title="https://saref.etsi.org/core/MultiLevelState">Multi level state</a> + </li> + <li> + <a href="#NotifyCommand" title="https://saref.etsi.org/core/NotifyCommand">Notify command</a> + </li> + <li> + <a href="#Occupancy" title="https://saref.etsi.org/core/Occupancy">Occupancy</a> + </li> + <li> + <a href="#OffCommand" title="https://saref.etsi.org/core/OffCommand">Off command</a> + </li> + <li> + <a href="#OffState" title="https://saref.etsi.org/core/OffState">Off state</a> + </li> + <li> + <a href="#OnCommand" title="https://saref.etsi.org/core/OnCommand">On command</a> + </li> + <li> + <a href="#OnOffFunction" title="https://saref.etsi.org/core/OnOffFunction">On off function</a> + </li> + <li> + <a href="#OnOffState" title="https://saref.etsi.org/core/OnOffState">On off state</a> + </li> + <li> + <a href="#OnState" title="https://saref.etsi.org/core/OnState">On state</a> + </li> + <li> + <a href="#OpenCloseFunction" title="https://saref.etsi.org/core/OpenCloseFunction">Open close function</a> + </li> + <li> + <a href="#OpenCloseState" title="https://saref.etsi.org/core/OpenCloseState">Open close state</a> + </li> + <li> + <a href="#OpenCommand" title="https://saref.etsi.org/core/OpenCommand">Open command</a> + </li> + <li> + <a href="#OpenState" title="https://saref.etsi.org/core/OpenState">Open state</a> + </li> + <li> + <a href="#PauseCommand" title="https://saref.etsi.org/core/PauseCommand">Pause command</a> + </li> + <li> + <a href="#Power" title="https://saref.etsi.org/core/Power">Power</a> + </li> + <li> + <a href="#PowerUnit" title="https://saref.etsi.org/core/PowerUnit">Power unit</a> + </li> + <li> + <a href="#Pressure" title="https://saref.etsi.org/core/Pressure">Pressure</a> + </li> + <li> + <a href="#PressureUnit" title="https://saref.etsi.org/core/PressureUnit">Pressure unit</a> + </li> + <li> + <a href="#Price" title="https://saref.etsi.org/core/Price">Price</a> + </li> + <li> + <a href="#Profile" title="https://saref.etsi.org/core/Profile">Profile</a> + </li> + <li> + <a href="#Property" title="https://saref.etsi.org/core/Property">Property</a> + </li> + <li> + <a href="#SensingFunction" title="https://saref.etsi.org/core/SensingFunction">Sensing function</a> + </li> + <li> + <a href="#Sensor" title="https://saref.etsi.org/core/Sensor">Sensor</a> + </li> + <li> + <a href="#Service" title="https://saref.etsi.org/core/Service">Service</a> + </li> + <li> + <a href="#SetAbsoluteLevelCommand" + title="https://saref.etsi.org/core/SetAbsoluteLevelCommand">Set absolute level command</a> + </li> + <li> + <a href="#SetLevelCommand" title="https://saref.etsi.org/core/SetLevelCommand">Set level command</a> + </li> + <li> + <a href="#SetRelativeLevelCommand" + title="https://saref.etsi.org/core/SetRelativeLevelCommand">Set relative level command</a> + </li> + <li> + <a href="#Smoke" title="https://saref.etsi.org/core/Smoke">Smoke</a> + </li> + <li> + <a href="#SmokeSensor" title="https://saref.etsi.org/core/SmokeSensor">Smoke sensor</a> + </li> + <li> + <a href="#StartCommand" title="https://saref.etsi.org/core/StartCommand">Start command</a> + </li> + <li> + <a href="#StartState" title="https://saref.etsi.org/core/StartState">Start state</a> + </li> + <li> + <a href="#StartStopFunction" title="https://saref.etsi.org/core/StartStopFunction">Start stop function</a> + </li> + <li> + <a href="#StartStopState" title="https://saref.etsi.org/core/StartStopState">Start stop state</a> + </li> + <li> + <a href="#State" title="https://saref.etsi.org/core/State">State</a> + </li> + <li> + <a href="#StepDownCommand" title="https://saref.etsi.org/core/StepDownCommand">Step down command</a> + </li> + <li> + <a href="#StepUpCommand" title="https://saref.etsi.org/core/StepUpCommand">Step up command</a> + </li> + <li> + <a href="#StopCommand" title="https://saref.etsi.org/core/StopCommand">Stop command</a> + </li> + <li> + <a href="#StopState" title="https://saref.etsi.org/core/StopState">Stop state</a> + </li> + <li> + <a href="#Switch" title="https://saref.etsi.org/core/Switch">Switch</a> + </li> + <li> + <a href="#SwitchOnService" title="https://saref.etsi.org/core/SwitchOnService">Switch on service</a> + </li> + <li> + <a href="#Task" title="https://saref.etsi.org/core/Task">Task</a> + </li> + <li> + <a href="#Temperature" title="https://saref.etsi.org/core/Temperature">Temperature</a> + </li> + <li> + <a href="#TemperatureSensor" title="https://saref.etsi.org/core/TemperatureSensor">Temperature sensor</a> + </li> + <li> + <a href="#TemperatureUnit" title="https://saref.etsi.org/core/TemperatureUnit">Temperature unit</a> + </li> + <li> + <a href="#Time" title="https://saref.etsi.org/core/Time">Time</a> + </li> + <li> + <a href="#ToggleCommand" title="https://saref.etsi.org/core/ToggleCommand">Toggle command</a> + </li> + <li> + <a href="#UnitOfMeasure" title="https://saref.etsi.org/core/UnitOfMeasure">Unit of measure</a> + </li> + <li> + <a href="#Water" title="https://saref.etsi.org/core/Water">Water</a> + </li> +</ul><h4>Object Properties</h4><ul class="hlist"> + <li> + <a href="#accomplishes" title="https://saref.etsi.org/core/accomplishes">accomplishes</a> + </li> + <li> + <a href="#actsUpon" title="https://saref.etsi.org/core/actsUpon">acts upon</a> + </li> + <li> + <a href="#consistsOf" title="https://saref.etsi.org/core/consistsOf">consists of</a> + </li> + <li> + <a href="#controlsProperty" title="https://saref.etsi.org/core/controlsProperty">controls property</a> + </li> + <li> + <a href="#hasCommand" title="https://saref.etsi.org/core/hasCommand">has command</a> + </li> + <li> + <a href="#hasFunction" title="https://saref.etsi.org/core/hasFunction">has function</a> + </li> + <li> + <a href="#hasMeasurement" title="https://saref.etsi.org/core/hasMeasurement">has measurement</a> + </li> + <li> + <a href="#hasMeterReading" title="https://saref.etsi.org/core/hasMeterReading">has meter reading</a> + </li> + <li> + <a href="#hasMeterReadingType" title="https://saref.etsi.org/core/hasMeterReadingType">has meter reading type</a> + </li> + <li> + <a href="#hasPrice" title="https://saref.etsi.org/core/hasPrice">has price</a> + </li> + <li> + <a href="#hasProfile" title="https://saref.etsi.org/core/hasProfile">has profile</a> + </li> + <li> + <a href="#hasProperty" title="https://saref.etsi.org/core/hasProperty">has property</a> + </li> + <li> + <a href="#hasSensingRange" title="https://saref.etsi.org/core/hasSensingRange">has sensing range</a> + </li> + <li> + <a href="#hasSensorType" title="https://saref.etsi.org/core/hasSensorType">has sensor type</a> + </li> + <li> + <a href="#hasState" title="https://saref.etsi.org/core/hasState">has state</a> + </li> + <li> + <a href="#hasThresholdMeasurement" + title="https://saref.etsi.org/core/hasThresholdMeasurement">has threshold measurement</a> + </li> + <li> + <a href="#hasTime" title="https://saref.etsi.org/core/hasTime">has time</a> + </li> + <li> + <a href="#hasTypicalConsumption" + title="https://saref.etsi.org/core/hasTypicalConsumption">has typical consumption</a> + </li> + <li> + <a href="#isAccomplishedBy" title="https://saref.etsi.org/core/isAccomplishedBy">is accomplished by</a> + </li> + <li> + <a href="#isCommandOf" title="https://saref.etsi.org/core/isCommandOf">is command of</a> + </li> + <li> + <a href="#isControlledByDevice" title="https://saref.etsi.org/core/isControlledByDevice">is controlled by device</a> + </li> + <li> + <a href="#isMeasuredByDevice" title="https://saref.etsi.org/core/isMeasuredByDevice">is measured by device</a> + </li> + <li> + <a href="#isMeasuredIn" title="https://saref.etsi.org/core/isMeasuredIn">is measured in</a> + </li> + <li> + <a href="#isOfferedBy" title="https://saref.etsi.org/core/isOfferedBy">is offered by</a> + </li> + <li> + <a href="#isPropertyOf" title="https://saref.etsi.org/core/isPropertyOf">is property of</a> + </li> + <li> + <a href="#isUsedFor" title="https://saref.etsi.org/core/isUsedFor">is used for</a> + </li> + <li> + <a href="#isAbout" title="https://saref.etsi.org/core/isAbout">isAbout</a> + </li> + <li> + <a href="#isMeasurementOf" title="https://saref.etsi.org/core/isMeasurementOf">isMeasurementOf</a> + </li> + <li> + <a href="#makesMeasurement" title="https://saref.etsi.org/core/makesMeasurement">makes measurement</a> + </li> + <li> + <a href="#measurementMadeBy" title="https://saref.etsi.org/core/measurementMadeBy">measurement made by</a> + </li> + <li> + <a href="#measuresProperty" title="https://saref.etsi.org/core/measuresProperty">measures property</a> + </li> + <li> + <a href="#offers" title="https://saref.etsi.org/core/offers">offers</a> + </li> + <li> + <a href="#relatesToMeasurement" title="https://saref.etsi.org/core/relatesToMeasurement">relates to measurement</a> + </li> + <li> + <a href="#relatesToProperty" title="https://saref.etsi.org/core/relatesToProperty">relates to property</a> + </li> + <li> + <a href="#represents" title="https://saref.etsi.org/core/represents">represents</a> + </li> +</ul><h4>Data Properties</h4><ul class="hlist"> + <li> + <a href="#hasDescription" title="https://saref.etsi.org/core/hasDescription">has description</a> + </li> + <li> + <a href="#hasManufacturer" title="https://saref.etsi.org/core/hasManufacturer">has manufacturer</a> + </li> + <li> + <a href="#hasModel" title="https://saref.etsi.org/core/hasModel">has model</a> + </li> + <li> + <a href="#hasTimestamp" title="https://saref.etsi.org/core/hasTimestamp">has timestamp</a> + </li> + <li> + <a href="#hasValue" title="https://saref.etsi.org/core/hasValue">has value</a> + </li> +</ul><h4>Named Individuals</h4><ul class="hlist"> + <li> + <a href="#Cleaning" title="https://saref.etsi.org/core/Cleaning">Cleaning</a> + </li> + <li> + <a href="#Comfort" title="https://saref.etsi.org/core/Comfort">Comfort</a> + </li> + <li> + <a href="#Drying" title="https://saref.etsi.org/core/Drying">Drying</a> + </li> + <li> + <a href="#EnergyEfficiency" title="https://saref.etsi.org/core/EnergyEfficiency">EnergyEfficiency</a> + </li> + <li> + <a href="#Entertainment" title="https://saref.etsi.org/core/Entertainment">Entertainment</a> + </li> + <li> + <a href="#Lighting" title="https://saref.etsi.org/core/Lighting">Lighting</a> + </li> + <li> + <a href="#MeterReading" title="https://saref.etsi.org/core/MeterReading">Meter reading</a> + </li> + <li> + <a href="#Safety" title="https://saref.etsi.org/core/Safety">Safety</a> + </li> + <li> + <a href="#Washing" title="https://saref.etsi.org/core/Washing">Washing</a> + </li> + <li> + <a href="#WellBeing" title="https://saref.etsi.org/core/WellBeing">WellBeing</a> + </li> +</ul></html> diff --git a/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/references-en.html b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/references-en.html new file mode 100644 index 0000000000000000000000000000000000000000..5501c97880a5a84b7f6635c882ed459a732144df --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/core/v3.1.1/sections/references-en.html @@ -0,0 +1,6 @@ +<html> +<h2 id="ref" class="list">References <span class="backlink"> back to <a href="#toc">ToC</a></span></h2> +<span class="markdown"> +Add your references here. It is recommended to have them as a list.</span> + +</html> diff --git a/src/main/resources/saref-portal-generator/public/desktop.ini b/src/main/resources/saref-portal-generator/public/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/documentation-draft.html b/src/main/resources/saref-portal-generator/public/documentation-draft.html new file mode 100644 index 0000000000000000000000000000000000000000..4ed61e6096bc6b055f33827af597166bdbc35535 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/documentation-draft.html @@ -0,0 +1,258 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>{ ?title }</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF-core</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <h1>{ ?title }</h1> + <h3>{ ?description }</h3> + </div> + </div> + </div> + </header> + <section id="g-intro"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <dl> + <dt>Ontology URI:</dt> + <dd><a href=" { ?uri } ">{ ?uri }</a></dd> + <dt>Revision:</dt> + <dd>1.0</dd> + { st:call-template( ) } + { st:call-template( ) } + <dt>Download serialization:</dt> + <dd> + <span><a href="ontology.json" target="_blank"><img src="https://img.shields.io/badge/Format-JSON_LD-blue.svg" alt="JSON-LD" /></a></span> + <span><a href="ontology.xml" target="_blank"><img src="https://img.shields.io/badge/Format-RDF/XML-blue.svg" alt="RDF/XML" /></a> </span> + <span><a href="ontology.nt" target="_blank"><img src="https://img.shields.io/badge/Format-N_Triples-blue.svg" alt="N-Triples" /></a> </span> + <span><a href="ontology.ttl" target="_blank"><img src="https://img.shields.io/badge/Format-TTL-blue.svg" alt="TTL" /></a> </span> + </dd> + <dt>License: </dt> + <dd><a href="http://purl.org/NET/rdflicense/cc-by4.0" target="_blank"><img src="https://img.shields.io/badge/License-http://purl.org/NET/rdflicense/cc_by4.0-blue.svg" alt="http://purl.org/NET/rdflicense/cc-by4.0" /></a></dd> + </dl> + </div> + </div> + </div> + </div> + </section> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <h2>Introduction</h2> + { st:call-template( ) } + </div> + </section> + <section class="g-wrapper"> + <div id="toc" class="g-container"> + </div> + </section> + <section id="axiomatisation" class="g-wrapper"> + <div class="g-container"> + <h2>Axiomatisation</h2> + { st:call-template( ) } + <section id="namespacedeclarations" class="g-wrapper"> + <div class="g-container"> + <h3>Namespace declarations</h3> + <p style="text-align: center;"> + The namespace for { ?name } terms is <span class="repeated" style="font-family: courier;">{ ?ns }</span><br /> + The suggested prefix for the BOT namespace is <span class="repeated" style="font-family: courier;">{ ?prefix }</span> + </p> + <table> + <caption> <a href="#ns"> Table 1</a>: Namespaces used in the document </caption> + <tbody> + <tr> + <td><b>saref</b></td> + <td><https://saref.etsi.org/></td> + </tr> + <tr> + <td><b>xsd</b></td> + <td><http://www.w3.org/2001/XMLSchema#></td> + </tr> + <tr> + <td><b>rdfs</b></td> + <td><http://www.w3.org/2000/01/rdf-schema#></td> + </tr> + <tr> + <td><b>rdf</b></td> + <td><http://www.w3.org/1999/02/22-rdf-syntax-ns#></td> + </tr> + <tr> + <td><b>owl</b></td> + <td><http://www.w3.org/2002/07/owl#></td> + </tr> + <tr> + <td><b>terms</b></td> + <td><http://purl.org/dc/terms/></td> + </tr> + </tbody> + </table> + </section> + <section id="overview-of-classes-and-properties" class="g-wrapper"> + <h3>Overview of Classes and Properties</h3> + { st:call-template() } + { st:call-template() } + { st:call-template() } + </section> + <section id="pattern1" class="g-wrapper"> + <h3>Pattern1</h3> + { st:call-template() } + </section> + <section id="pattern2" class="g-wrapper"> + <h3>Pattern2</h3> + { st:call-template() } + </section> + </div> + </div> + </section> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/favicon.ico b/src/main/resources/saref-portal-generator/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5c46eaabf2ee70aa7849e6e5ad136bded216f4b1 Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/favicon.ico differ diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI-Logo_BW_S_Office1.png b/src/main/resources/saref-portal-generator/public/files/ETSI-Logo_BW_S_Office1.png new file mode 100644 index 0000000000000000000000000000000000000000..5203bb17aa9d90c3a86c25f12654e18da3d7eedd Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/files/ETSI-Logo_BW_S_Office1.png differ diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/desktop.ini b/src/main/resources/saref-portal-generator/public/files/ETSI/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/files/ETSI/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/etsi-arrows-crop.png b/src/main/resources/saref-portal-generator/public/files/ETSI/etsi-arrows-crop.png new file mode 100644 index 0000000000000000000000000000000000000000..55069d35f5300b201f4d1bc25e55d1c81b91197e Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/files/ETSI/etsi-arrows-crop.png differ diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/home/arrows-home-575.PNG b/src/main/resources/saref-portal-generator/public/files/ETSI/home/arrows-home-575.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f59a76fe028ba681240d142ce07545de72c2731b Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/files/ETSI/home/arrows-home-575.PNG differ diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/home/build-home-575.PNG b/src/main/resources/saref-portal-generator/public/files/ETSI/home/build-home-575.PNG new file mode 100644 index 0000000000000000000000000000000000000000..acfcb67e6ce2980070077da45977456c7ecec6a1 Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/files/ETSI/home/build-home-575.PNG differ diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/home/desktop.ini b/src/main/resources/saref-portal-generator/public/files/ETSI/home/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/files/ETSI/home/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/home/globe-home-575.PNG b/src/main/resources/saref-portal-generator/public/files/ETSI/home/globe-home-575.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a1f7be44170e5ea8db4d443928fa0389119d7dda Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/files/ETSI/home/globe-home-575.PNG differ diff --git a/src/main/resources/saref-portal-generator/public/files/ETSI/svn256.png b/src/main/resources/saref-portal-generator/public/files/ETSI/svn256.png new file mode 100644 index 0000000000000000000000000000000000000000..823f70059a832a9bef6e483028dbe58f0310b61f Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/files/ETSI/svn256.png differ diff --git a/src/main/resources/saref-portal-generator/public/files/desktop.ini b/src/main/resources/saref-portal-generator/public/files/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/files/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/images/desktop.ini b/src/main/resources/saref-portal-generator/public/images/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/images/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/images/logo-l.png b/src/main/resources/saref-portal-generator/public/images/logo-l.png new file mode 100644 index 0000000000000000000000000000000000000000..7101a6b969a61c111c287ac28838bfb9abc6a982 Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/images/logo-l.png differ diff --git a/src/main/resources/saref-portal-generator/public/index (copy).html b/src/main/resources/saref-portal-generator/public/index (copy).html new file mode 100644 index 0000000000000000000000000000000000000000..10e33ff52257095f34337c059164f85391966d4a --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/index (copy).html @@ -0,0 +1,473 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + + <div class="g-block size-100"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Home</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Get started</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF core</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Resources</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contribute to SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">About us</span> + </span> + </a> + </li> + + </ul> + </nav> + </div> + </div> + </div> + </div> + </section> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><em>Filter by title or domain:</em> <input class="form-control ui-autocomplete-input" id="tags" placeholder="Users will be able to search for SAREF terms through this form" /></p> + </div> + </section> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <table id="user-content-tablesorter-demo"> + <thead> + <tr> + <th>Ontology</th> + <th>Serialization</th> + <th>License</th> + <th>Authors</th> + <th>Language</th> + <th>Domain</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr id="user-content-tr1"> + <td> + <a href="http://saref.etsi.org/saref#" rel="nofollow">SAREF: the Smart Appliances REFerence ontology</a> <a href="http://saref.etsi.org/saref.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">IoT</span> + </td> + <td> + <p id="user-content-collapse1"> + The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets in the smart appliances domain. + </p> + <script> + $('#collapse1').click(function() { + if ($('a').hasClass('more1')) { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type ' + switching on / off '. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the ' + switching on / off ' is associated with the commands ' + switch on ', ' + switch off ' and ' + toggle '. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building. See less'); + } else { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr2"> + <td> + <a href="http://saref.etsi.org/saref4envi#" rel="nofollow">SAREF extension for environment</a> <a href="http://saref.etsi.org/saref4envi.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">environment</span> + <span class="label label-primary">light pollution</span> + <span class="label label-primary">photometer</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse2"> + This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. + </p> + <script> + $('#collapse2').click(function() { + if ($('a').hasClass('more2')) { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. See less'); + } else { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr3"> + <td> + <a href="http://saref.etsi.org/saref4bldg#" rel="nofollow">SAREF extension for building devices</a> <a href="http://saref.etsi.org/saref4bldg.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">building</span> + <span class="label label-primary">building device</span> + <span class="label label-primary">device</span> + <span class="label label-primary">IFC</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse3"> + This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. + </p> + <script> + $('#collapse3').click(function() { + if ($('a').hasClass('more3')) { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation. See less'); + } else { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr4"> + <td> + <a href="http://saref.etsi.org/saref4ener#" rel="nofollow">SAREF extension for energy</a> <a href="http://saref.etsi.org/saref4ener#" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">energy</span> + </td> + <td> + <p id="user-content-collapse4"> + SAREF4ENER is an extension of SAREF for the Energy domain + </p> + <script> + $('#collapse4').click(function() { + if ($('a').hasClass('more4')) { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (<a href="http://www.energy-home.it" rel="nofollow">http://www.energy-home.it</a>) and EEBus (<a href="http://www.eebus.org/en" rel="nofollow">http://www.eebus.org/en</a>), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1). See less'); + } else { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... See more'); + } + }); + </script> + </td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4agri#" rel="nofollow">SAREF extension for the Smart Agriculture and Food Chain Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4inma#" rel="nofollow">SAREF extension for the Industry and Manufacturing Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <a href="https://www.linkedin.com/in/mderoode" rel="nofollow"> <span class="label label-primary">Mike de Roode</span> </a> + <span class="label label-primary">Matthijs Punter</span> + <span class="label label-primary">Alba Fernandez Izquierdo, UPM</span> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4city#" rel="nofollow">SAREF extension for the Smart City Domain</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="https://www.linkedin.com/in/paolaespinoza-arias/" rel="nofollow"> <span class="label label-primary">Paola Patricia Espinoza Arias</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4syst#" rel="nofollow">SAREF Systems: typology of systems and their inter-connections</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="maxime-lefrancois.info"> <span class="label label-primary">Maxime Lefrançois</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + </tbody> + </table> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> diff --git a/src/main/resources/saref-portal-generator/public/index-maria.html b/src/main/resources/saref-portal-generator/public/index-maria.html new file mode 100644 index 0000000000000000000000000000000000000000..dc865df74430a2238e90154943cb8cc69bb9c1f4 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/index-maria.html @@ -0,0 +1,1188 @@ +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>{ ?title }</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + <style> + @font-face { + font-family: octicons-anchor; + src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAYcAA0AAAAACjQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABwAAAAca8vGTk9TLzIAAAFMAAAARAAAAFZG1VHVY21hcAAAAZAAAAA+AAABQgAP9AdjdnQgAAAB0AAAAAQAAAAEACICiGdhc3AAAAHUAAAACAAAAAj//wADZ2x5ZgAAAdwAAADRAAABEKyikaNoZWFkAAACsAAAAC0AAAA2AtXoA2hoZWEAAALgAAAAHAAAACQHngNFaG10eAAAAvwAAAAQAAAAEAwAACJsb2NhAAADDAAAAAoAAAAKALIAVG1heHAAAAMYAAAAHwAAACABEAB2bmFtZQAAAzgAAALBAAAFu3I9x/Nwb3N0AAAF/AAAAB0AAAAvaoFvbwAAAAEAAAAAzBdyYwAAAADP2IQvAAAAAM/bz7t4nGNgZGFgnMDAysDB1Ml0hoGBoR9CM75mMGLkYGBgYmBlZsAKAtJcUxgcPsR8iGF2+O/AEMPsznAYKMwIkgMA5REMOXicY2BgYGaAYBkGRgYQsAHyGMF8FgYFIM0ChED+h5j//yEk/3KoSgZGNgYYk4GRCUgwMaACRoZhDwCs7QgGAAAAIgKIAAAAAf//AAJ4nHWMMQrCQBBF/0zWrCCIKUQsTDCL2EXMohYGSSmorScInsRGL2DOYJe0Ntp7BK+gJ1BxF1stZvjz/v8DRghQzEc4kIgKwiAppcA9LtzKLSkdNhKFY3HF4lK69ExKslx7Xa+vPRVS43G98vG1DnkDMIBUgFN0MDXflU8tbaZOUkXUH0+U27RoRpOIyCKjbMCVejwypzJJG4jIwb43rfl6wbwanocrJm9XFYfskuVC5K/TPyczNU7b84CXcbxks1Un6H6tLH9vf2LRnn8Ax7A5WQAAAHicY2BkYGAA4teL1+yI57f5ysDNwgAC529f0kOmWRiYVgEpDgYmEA8AUzEKsQAAAHicY2BkYGB2+O/AEMPCAAJAkpEBFbAAADgKAe0EAAAiAAAAAAQAAAAEAAAAAAAAKgAqACoAiAAAeJxjYGRgYGBhsGFgYgABEMkFhAwM/xn0QAIAD6YBhwB4nI1Ty07cMBS9QwKlQapQW3VXySvEqDCZGbGaHULiIQ1FKgjWMxknMfLEke2A+IJu+wntrt/QbVf9gG75jK577Lg8K1qQPCfnnnt8fX1NRC/pmjrk/zprC+8D7tBy9DHgBXoWfQ44Av8t4Bj4Z8CLtBL9CniJluPXASf0Lm4CXqFX8Q84dOLnMB17N4c7tBo1AS/Qi+hTwBH4rwHHwN8DXqQ30XXAS7QaLwSc0Gn8NuAVWou/gFmnjLrEaEh9GmDdDGgL3B4JsrRPDU2hTOiMSuJUIdKQQayiAth69r6akSSFqIJuA19TrzCIaY8sIoxyrNIrL//pw7A2iMygkX5vDj+G+kuoLdX4GlGK/8Lnlz6/h9MpmoO9rafrz7ILXEHHaAx95s9lsI7AHNMBWEZHULnfAXwG9/ZqdzLI08iuwRloXE8kfhXYAvE23+23DU3t626rbs8/8adv+9DWknsHp3E17oCf+Z48rvEQNZ78paYM38qfk3v/u3l3u3GXN2Dmvmvpf1Srwk3pB/VSsp512bA/GG5i2WJ7wu430yQ5K3nFGiOqgtmSB5pJVSizwaacmUZzZhXLlZTq8qGGFY2YcSkqbth6aW1tRmlaCFs2016m5qn36SbJrqosG4uMV4aP2PHBmB3tjtmgN2izkGQyLWprekbIntJFing32a5rKWCN/SdSoga45EJykyQ7asZvHQ8PTm6cslIpwyeyjbVltNikc2HTR7YKh9LBl9DADC0U/jLcBZDKrMhUBfQBvXRzLtFtjU9eNHKin0x5InTqb8lNpfKv1s1xHzTXRqgKzek/mb7nB8RZTCDhGEX3kK/8Q75AmUM/eLkfA+0Hi908Kx4eNsMgudg5GLdRD7a84npi+YxNr5i5KIbW5izXas7cHXIMAau1OueZhfj+cOcP3P8MNIWLyYOBuxL6DRylJ4cAAAB4nGNgYoAALjDJyIAOWMCiTIxMLDmZedkABtIBygAAAA==) format('woff'); + } + + * { + box-sizing: border-box; + } + + body { + width: 980px; + margin-right: auto; + margin-left: auto; + } + + body .markdown-body { + padding: 45px; + border: 1px solid #ddd; + border-radius: 3px; + word-wrap: break-word; + } + + pre { + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; + } + + .markdown-body { + -webkit-text-size-adjust: 100%; + text-size-adjust: 100%; + color: #333; + font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 16px; + line-height: 1.6; + word-wrap: break-word; + } + + .markdown-body a { + background-color: transparent; + } + + .markdown-body a:active, + .markdown-body a:hover { + outline: 0; + } + + .markdown-body strong { + font-weight: bold; + } + + .markdown-body h1 { + font-size: 2em; + margin: 0.67em 0; + } + + .markdown-body img { + border: 0; + } + + .markdown-body hr { + box-sizing: content-box; + height: 0; + } + + .markdown-body pre { + overflow: auto; + } + + .markdown-body code, + .markdown-body kbd, + .markdown-body pre { + font-family: monospace, monospace; + font-size: 1em; + } + + .markdown-body input { + color: inherit; + font: inherit; + margin: 0; + } + + .markdown-body html input[disabled] { + cursor: default; + } + + .markdown-body input { + line-height: normal; + } + + .markdown-body input[type="checkbox"] { + box-sizing: border-box; + padding: 0; + } + + .markdown-body table { + border-collapse: collapse; + border-spacing: 0; + } + + .markdown-body td, + .markdown-body th { + padding: 0; + } + + .markdown-body input { + font: 13px / 1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + } + + .markdown-body a { + color: #4078c0; + text-decoration: none; + } + + .markdown-body a:hover, + .markdown-body a:active { + text-decoration: underline; + } + + .markdown-body hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #ddd; + } + + .markdown-body hr:before { + display: table; + content: ""; + } + + .markdown-body hr:after { + display: table; + clear: both; + content: ""; + } + + .markdown-body h1, + .markdown-body h2, + .markdown-body h3, + .markdown-body h4, + .markdown-body h5, + .markdown-body h6 { + margin-top: 15px; + margin-bottom: 15px; + line-height: 1.1; + } + + .markdown-body h1 { + font-size: 30px; + } + + .markdown-body h2 { + font-size: 21px; + } + + .markdown-body h3 { + font-size: 16px; + } + + .markdown-body h4 { + font-size: 14px; + } + + .markdown-body h5 { + font-size: 12px; + } + + .markdown-body h6 { + font-size: 11px; + } + + .markdown-body blockquote { + margin: 0; + } + + .markdown-body ul, + .markdown-body ol { + padding: 0; + margin-top: 0; + margin-bottom: 0; + } + + .markdown-body ol ol, + .markdown-body ul ol { + list-style-type: lower-roman; + } + + .markdown-body ul ul ol, + .markdown-body ul ol ol, + .markdown-body ol ul ol, + .markdown-body ol ol ol { + list-style-type: lower-alpha; + } + + .markdown-body dd { + margin-left: 0; + } + + .markdown-body code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; + } + + .markdown-body pre { + margin-top: 0; + margin-bottom: 0; + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; + } + + .markdown-body .select::-ms-expand { + opacity: 0; + } + + .markdown-body .octicon { + font: normal normal normal 16px/1 octicons-anchor; + display: inline-block; + text-decoration: none; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .markdown-body .octicon-link:before { + content: '\f05c'; + } + + .markdown-body:before { + display: table; + content: ""; + } + + .markdown-body:after { + display: table; + clear: both; + content: ""; + } + + .markdown-body>*:first-child { + margin-top: 0 !important; + } + + .markdown-body>*:last-child { + margin-bottom: 0 !important; + } + + .markdown-body a:not([href]) { + color: inherit; + text-decoration: none; + } + + .markdown-body .anchor { + display: inline-block; + padding-right: 2px; + margin-left: -18px; + } + + .markdown-body .anchor:focus { + outline: none; + } + + .markdown-body h1, + .markdown-body h2, + .markdown-body h3, + .markdown-body h4, + .markdown-body h5, + .markdown-body h6 { + margin-top: 1em; + margin-bottom: 16px; + font-weight: bold; + line-height: 1.4; + } + + .markdown-body h1 .octicon-link, + .markdown-body h2 .octicon-link, + .markdown-body h3 .octicon-link, + .markdown-body h4 .octicon-link, + .markdown-body h5 .octicon-link, + .markdown-body h6 .octicon-link { + color: #000; + vertical-align: middle; + visibility: hidden; + } + + .markdown-body h1:hover .anchor, + .markdown-body h2:hover .anchor, + .markdown-body h3:hover .anchor, + .markdown-body h4:hover .anchor, + .markdown-body h5:hover .anchor, + .markdown-body h6:hover .anchor { + text-decoration: none; + } + + .markdown-body h1:hover .anchor .octicon-link, + .markdown-body h2:hover .anchor .octicon-link, + .markdown-body h3:hover .anchor .octicon-link, + .markdown-body h4:hover .anchor .octicon-link, + .markdown-body h5:hover .anchor .octicon-link, + .markdown-body h6:hover .anchor .octicon-link { + visibility: visible; + } + + .markdown-body h1 { + padding-bottom: 0.3em; + font-size: 2.25em; + line-height: 1.2; + border-bottom: 1px solid #eee; + } + + .markdown-body h1 .anchor { + line-height: 1; + } + + .markdown-body h2 { + padding-bottom: 0.3em; + font-size: 1.75em; + line-height: 1.225; + border-bottom: 1px solid #eee; + } + + .markdown-body h2 .anchor { + line-height: 1; + } + + .markdown-body h3 { + font-size: 1.5em; + line-height: 1.43; + } + + .markdown-body h3 .anchor { + line-height: 1.2; + } + + .markdown-body h4 { + font-size: 1.25em; + } + + .markdown-body h4 .anchor { + line-height: 1.2; + } + + .markdown-body h5 { + font-size: 1em; + } + + .markdown-body h5 .anchor { + line-height: 1.1; + } + + .markdown-body h6 { + font-size: 1em; + color: #777; + } + + .markdown-body h6 .anchor { + line-height: 1.1; + } + + .markdown-body p, + .markdown-body blockquote, + .markdown-body ul, + .markdown-body ol, + .markdown-body dl, + .markdown-body table, + .markdown-body pre { + margin-top: 0; + margin-bottom: 16px; + } + + .markdown-body hr { + height: 4px; + padding: 0; + margin: 16px 0; + background-color: #e7e7e7; + border: 0 none; + } + + .markdown-body ul, + .markdown-body ol { + padding-left: 2em; + } + + .markdown-body ul ul, + .markdown-body ul ol, + .markdown-body ol ol, + .markdown-body ol ul { + margin-top: 0; + margin-bottom: 0; + } + + .markdown-body li>p { + margin-top: 16px; + } + + .markdown-body dl { + padding: 0; + } + + .markdown-body dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: bold; + } + + .markdown-body dl dd { + padding: 0 16px; + margin-bottom: 16px; + } + + .markdown-body blockquote { + padding: 0 15px; + color: #777; + border-left: 4px solid #ddd; + } + + .markdown-body blockquote>:first-child { + margin-top: 0; + } + + .markdown-body blockquote>:last-child { + margin-bottom: 0; + } + + .markdown-body table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; + } + + .markdown-body table th { + font-weight: bold; + } + + .markdown-body table th, + .markdown-body table td { + padding: 6px 13px; + border: 1px solid #ddd; + } + + .markdown-body table tr { + background-color: #fff; + border-top: 1px solid #ccc; + } + + .markdown-body table tr:nth-child(2n) { + background-color: #f8f8f8; + } + + .markdown-body img { + max-width: 100%; + box-sizing: content-box; + background-color: #fff; + } + + .markdown-body code { + padding: 0; + padding-top: 0.2em; + padding-bottom: 0.2em; + margin: 0; + font-size: 85%; + background-color: rgba(0, 0, 0, 0.04); + border-radius: 3px; + } + + .markdown-body code:before, + .markdown-body code:after { + letter-spacing: -0.2em; + content: "\00a0"; + } + + .markdown-body pre>code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; + } + + .markdown-body .highlight { + margin-bottom: 16px; + } + + .markdown-body .highlight pre, + .markdown-body pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; + } + + .markdown-body .highlight pre { + margin-bottom: 0; + word-break: normal; + } + + .markdown-body pre { + word-wrap: normal; + } + + .markdown-body pre code { + display: inline; + max-width: initial; + padding: 0; + margin: 0; + overflow: initial; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; + } + + .markdown-body pre code:before, + .markdown-body pre code:after { + content: normal; + } + + .markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; + } + + .markdown-body .pl-c { + color: #969896; + } + + .markdown-body .pl-c1, + .markdown-body .pl-s .pl-v { + color: #0086b3; + } + + .markdown-body .pl-e, + .markdown-body .pl-en { + color: #795da3; + } + + .markdown-body .pl-s .pl-s1, + .markdown-body .pl-smi { + color: #333; + } + + .markdown-body .pl-ent { + color: #63a35c; + } + + .markdown-body .pl-k { + color: #a71d5d; + } + + .markdown-body .pl-pds, + .markdown-body .pl-s, + .markdown-body .pl-s .pl-pse .pl-s1, + .markdown-body .pl-sr, + .markdown-body .pl-sr .pl-cce, + .markdown-body .pl-sr .pl-sra, + .markdown-body .pl-sr .pl-sre { + color: #183691; + } + + .markdown-body .pl-v { + color: #ed6a43; + } + + .markdown-body .pl-id { + color: #b52a1d; + } + + .markdown-body .pl-ii { + background-color: #b52a1d; + color: #f8f8f8; + } + + .markdown-body .pl-sr .pl-cce { + color: #63a35c; + font-weight: bold; + } + + .markdown-body .pl-ml { + color: #693a17; + } + + .markdown-body .pl-mh, + .markdown-body .pl-mh .pl-en, + .markdown-body .pl-ms { + color: #1d3e81; + font-weight: bold; + } + + .markdown-body .pl-mq { + color: #008080; + } + + .markdown-body .pl-mi { + color: #333; + font-style: italic; + } + + .markdown-body .pl-mb { + color: #333; + font-weight: bold; + } + + .markdown-body .pl-md { + background-color: #ffecec; + color: #bd2c00; + } + + .markdown-body .pl-mi1 { + background-color: #eaffea; + color: #55a532; + } + + .markdown-body .pl-mdr { + color: #795da3; + font-weight: bold; + } + + .markdown-body .pl-mo { + color: #1d3e81; + } + + .markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; + } + + .markdown-body .plan-price-unit { + color: #767676; + font-weight: normal; + } + + .markdown-body .task-list-item { + list-style-type: none; + } + + .markdown-body .task-list-item+.task-list-item { + margin-top: 3px; + } + + .markdown-body .task-list-item input { + margin: 0 0.35em 0.25em -1.6em; + vertical-align: middle; + } + + .markdown-body .plan-choice { + padding: 15px; + padding-left: 40px; + display: block; + border: 1px solid #e0e0e0; + position: relative; + font-weight: normal; + background-color: #fafafa; + } + + .markdown-body .plan-choice.open { + background-color: #fff; + } + + .markdown-body .plan-choice.open .plan-choice-seat-breakdown { + display: block; + } + + .markdown-body .plan-choice-free { + border-radius: 3px 3px 0 0; + } + + .markdown-body .plan-choice-paid { + border-radius: 0 0 3px 3px; + border-top: 0; + margin-bottom: 20px; + } + + .markdown-body .plan-choice-radio { + position: absolute; + left: 15px; + top: 18px; + } + + .markdown-body .plan-choice-exp { + color: #999; + font-size: 12px; + margin-top: 5px; + } + + .markdown-body .plan-choice-seat-breakdown { + margin-top: 10px; + display: none; + } + + .markdown-body :checked+.radio-label { + z-index: 1; + position: relative; + border-color: #4078c0; + } + </style> + <title>SAREF Portal - index</title> +</head> + +<body> + <article class="markdown-body"> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <div id="user-content-g-offcanvas"> + <div> + <div> + <div> + <div id="user-content-g-mobilemenu-container"></div> + </div> + </div> + </div> + </div> + <div id="user-content-g-page-surround"> + <div><i></i></div> + <div> + <div> + <div> + <div> + <a href="" title=""> + <img src="images/logo-l.png" alt="" style="max-width:100%;"> + </a> + </div> + </div> + <div> + <div> + <ul> + <li> + <a href="index.html"> + <span> + <span>SAREF-core</span> + </span> + </a> + </li> + <li> + <a href="https://forge.etsi.org/gitlab/SAREF/" rel="nofollow"> + <span> + <span>Participate</span> + </span> + </a> + </li> + </ul> + </div> + </div> + <div> + <div> + <div> + <a href="https://twitter.com/ETSI_STANDARDS" title="" rel="nofollow"> + <span></span> <span></span> </a> + <a href="https://www.facebook.com/etsi.standards" title="" rel="nofollow"> + <span></span> <span></span> </a> + <a href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" rel="nofollow"> + <span></span> <span></span> </a> + <a href="https://www.youtube.com/user/ETSIstandards" title="" rel="nofollow"> + <span></span> <span></span> </a> + </div> + </div> + </div> + </div> + </div> + <div> + <div> + <div> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + <div> + <div> + <div> + <div> + <p>Filter by title or domain: </p> + </div> + <div> + <span></span> Remove filter + </div> + </div> + </div> + </div> + <div> + <table id="user-content-tablesorter-demo"> + <thead> + <tr> + <th>Ontology</th> + <th>Serialization</th> + <th>License</th> + <th>Authors</th> + <th>Language</th> + <th>Domain</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr id="user-content-tr1"> + <td> + <a href="http://saref.etsi.org/saref#" rel="nofollow">SAREF: the Smart Appliances REFerence ontology</a> <a href="http://saref.etsi.org/saref.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span>Laura Daniele</span> </a> + <span>MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span>Raúl GarcÃa-Castro</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a></td> + <td> + <span>smart appliances</span> <span>IoT</span> + </td> + <td> + <p id="user-content-collapse1"> + The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... See more + </p> + <script> + $('#collapse1').click(function() { + if ($('a').hasClass('more1')) { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type ' + switching on / off '. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the ' + switching on / off ' is associated with the commands ' + switch on ', ' + switch off ' and ' + toggle '. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building. See less'); + } else { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr2"> + <td> + <a href="http://saref.etsi.org/s4envi#" rel="nofollow">SAREF extension for environment</a> <a href="http://saref.etsi.org/s4envi.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <span>MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span>Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a> </td> + <td> + <span>environment</span> + <span>light pollution</span> + <span>photometer</span> + <span>SAREF</span> + </td> + <td> + <p id="user-content-collapse2"> + This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... See more + </p> + <script> + $('#collapse2').click(function() { + if ($('a').hasClass('more2')) { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. See less'); + } else { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr3"> + <td> + <a href="http://saref.etsi.org/s4bldg#" rel="nofollow">SAREF extension for building devices</a> <a href="http://saref.etsi.org/s4bldg.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <span>MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span>Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a> </td> + <td> + <span> building</span> + <span>building device</span> + <span>device</span> + <span>IFC</span> + <span>SAREF</span> + </td> + <td> + <p id="user-content-collapse3"> + This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... See more + </p> + <script> + $('#collapse3').click(function() { + if ($('a').hasClass('more3')) { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation. See less'); + } else { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr4"> + <td> + <a href="http://saref.etsi.org/s4ener#" rel="nofollow">SAREF extension for energy</a> <a href="http://saref.etsi.org/s4ener#" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span>Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a></td> + <td> + <span>smart appliances</span> <span>energy</span> + </td> + <td> + <p id="user-content-collapse4"> + SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... See more + </p> + <script> + $('#collapse4').click(function() { + if ($('a').hasClass('more4')) { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (<a href="http://www.energy-home.it" rel="nofollow">http://www.energy-home.it</a>) and EEBus (<a href="http://www.eebus.org/en" rel="nofollow">http://www.eebus.org/en</a>), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1). See less'); + } else { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... See more'); + } + }); + </script> + </td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4agri#" rel="nofollow">SAREF extension for the Smart Agriculture and Food Chain Domains</a></td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span>Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4inma#" rel="nofollow">SAREF extension for the Industry and Manufacturing Domains</a></td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span>Laura Daniele</span> </a> + <span>MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span>Raúl GarcÃa-Castro</span> </a> + <a href="https://www.linkedin.com/in/mderoode" rel="nofollow"> <span>Mike de Roode</span> </a> + <span>Matthijs Punter</span> + <span>Alba Fernandez Izquierdo, UPM</span> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4city#" rel="nofollow">SAREF extension for the Smart City Domain</a></td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span>Raúl GarcÃa-Castro</span> </a> + <span>MarÃa Poveda-Villalón</span> + <a href="https://www.linkedin.com/in/paolaespinoza-arias/" rel="nofollow"> <span>Paola Patricia Espinoza Arias</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4syst#" rel="nofollow">SAREF Systems</a></td> + <td> + <span>html</span> + <span>turtle</span> + <span>xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span>CC-by4.0</span> </a></td> + <td> + <a href="maxime-lefrancois.info"> <span>Maxime Lefrançois</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span>en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + </tbody> + </table> + <hr> + <script> + $(function() { + var availableTags = [ + "SAREF: the Smart Appliances REFerence ontology", " smart appliances", "SAREF extension for environment", " environment", " light pollution", " photometer", " SAREF", "SAREF extension for building devices", " building", " building device", " device", " IFC", "energy" + ]; + $("#tags").autocomplete({ + source: availableTags, + select: function(event, ui) { + hideRows(ui.item.value); + } + }); + }); + </script> + <script> + function hideRows(text) { + index = 1; + tr = document.getElementById('tr' + index); + while (tr != null) { + valores = document.getElementById('inp' + index).value; + if (valores.indexOf(text + '--') == -1) { + tr.style.display = 'none'; + } + index++; + tr = document.getElementById('tr' + index); + } + document.getElementById('remButt').style.display = ''; + } + + function showRows() { + index = 1; + tr = document.getElementById('tr' + index); + while (tr != null) { + tr.style.display = ''; + index++; + tr = document.getElementById('tr' + index); + } + butt = document.getElementById('remButt').style.display = 'none'; + } + </script> + <div> + <section> + <div> + <section> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact &amp; Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </section> + </div> + </section> + </div> + </div> + </div> + </article> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/index-online.html b/src/main/resources/saref-portal-generator/public/index-online.html new file mode 100644 index 0000000000000000000000000000000000000000..7373b0db644c3fe042792c4b62d8919daa0b85f6 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/index-online.html @@ -0,0 +1,412 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><em>Filter by title or domain:</em> <input class="form-control ui-autocomplete-input" id="tags" placeholder="Users will be able to search for SAREF terms through this form" /></p> + </div> + </section> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <table id="user-content-tablesorter-demo"> + <thead> + <tr> + <th>Ontology</th> + <th>Serialization</th> + <th>License</th> + <th>Authors</th> + <th>Language</th> + <th>Domain</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr id="user-content-tr1"> + <td> + <a href="http://saref.etsi.org/saref#" rel="nofollow">SAREF: the Smart Appliances REFerence ontology</a> <a href="http://saref.etsi.org/saref.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">IoT</span> + </td> + <td> + <p id="user-content-collapse1"> + The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets in the smart appliances domain. + </p> + <script> + $('#collapse1').click(function() { + if ($('a').hasClass('more1')) { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type ' + switching on / off '. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the ' + switching on / off ' is associated with the commands ' + switch on ', ' + switch off ' and ' + toggle '. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building. See less'); + } else { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr2"> + <td> + <a href="http://saref.etsi.org/s4envi#" rel="nofollow">SAREF extension for environment</a> <a href="http://saref.etsi.org/s4envi.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">environment</span> + <span class="label label-primary">light pollution</span> + <span class="label label-primary">photometer</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse2"> + This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. + </p> + <script> + $('#collapse2').click(function() { + if ($('a').hasClass('more2')) { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. See less'); + } else { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr3"> + <td> + <a href="http://saref.etsi.org/s4bldg#" rel="nofollow">SAREF extension for building devices</a> <a href="http://saref.etsi.org/s4bldg.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">building</span> + <span class="label label-primary">building device</span> + <span class="label label-primary">device</span> + <span class="label label-primary">IFC</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse3"> + This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. + </p> + <script> + $('#collapse3').click(function() { + if ($('a').hasClass('more3')) { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation. See less'); + } else { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr4"> + <td> + <a href="http://saref.etsi.org/s4ener#" rel="nofollow">SAREF extension for energy</a> <a href="http://saref.etsi.org/s4ener#" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">energy</span> + </td> + <td> + <p id="user-content-collapse4"> + SAREF4ENER is an extension of SAREF for the Energy domain + </p> + <script> + $('#collapse4').click(function() { + if ($('a').hasClass('more4')) { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (<a href="http://www.energy-home.it" rel="nofollow">http://www.energy-home.it</a>) and EEBus (<a href="http://www.eebus.org/en" rel="nofollow">http://www.eebus.org/en</a>), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1). See less'); + } else { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... See more'); + } + }); + </script> + </td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4agri#" rel="nofollow">SAREF extension for the Smart Agriculture and Food Chain Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4inma#" rel="nofollow">SAREF extension for the Industry and Manufacturing Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <a href="https://www.linkedin.com/in/mderoode" rel="nofollow"> <span class="label label-primary">Mike de Roode</span> </a> + <span class="label label-primary">Matthijs Punter</span> + <span class="label label-primary">Alba Fernandez Izquierdo, UPM</span> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4city#" rel="nofollow">SAREF extension for the Smart City Domain</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="https://www.linkedin.com/in/paolaespinoza-arias/" rel="nofollow"> <span class="label label-primary">Paola Patricia Espinoza Arias</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4syst#" rel="nofollow">SAREF Systems: typology of systems and their inter-connections</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="maxime-lefrancois.info"> <span class="label label-primary">Maxime Lefrançois</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + </tbody> + </table> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/index-save.html b/src/main/resources/saref-portal-generator/public/index-save.html new file mode 100644 index 0000000000000000000000000000000000000000..163078cb97c9da2ff6fc908793c39b105349a3f6 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/index-save.html @@ -0,0 +1,412 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>{ ?title }</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><em>Filter by title or domain:</em> <input class="form-control ui-autocomplete-input" id="tags" placeholder="Users will be able to search for SAREF terms through this form" /></p> + </div> + </section> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <table id="user-content-tablesorter-demo"> + <thead> + <tr> + <th>Ontology</th> + <th>Serialization</th> + <th>License</th> + <th>Authors</th> + <th>Language</th> + <th>Domain</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr id="user-content-tr1"> + <td> + <a href="http://saref.etsi.org/saref#" rel="nofollow">SAREF: the Smart Appliances REFerence ontology</a> <a href="http://saref.etsi.org/saref.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">IoT</span> + </td> + <td> + <p id="user-content-collapse1"> + The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets in the smart appliances domain. + </p> + <script> + $('#collapse1').click(function() { + if ($('a').hasClass('more1')) { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type ' + switching on / off '. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the ' + switching on / off ' is associated with the commands ' + switch on ', ' + switch off ' and ' + toggle '. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building. See less'); + } else { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr2"> + <td> + <a href="http://saref.etsi.org/s4envi#" rel="nofollow">SAREF extension for environment</a> <a href="http://saref.etsi.org/s4envi.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">environment</span> + <span class="label label-primary">light pollution</span> + <span class="label label-primary">photometer</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse2"> + This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. + </p> + <script> + $('#collapse2').click(function() { + if ($('a').hasClass('more2')) { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. See less'); + } else { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr3"> + <td> + <a href="http://saref.etsi.org/s4bldg#" rel="nofollow">SAREF extension for building devices</a> <a href="http://saref.etsi.org/s4bldg.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">building</span> + <span class="label label-primary">building device</span> + <span class="label label-primary">device</span> + <span class="label label-primary">IFC</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse3"> + This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. + </p> + <script> + $('#collapse3').click(function() { + if ($('a').hasClass('more3')) { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation. See less'); + } else { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr4"> + <td> + <a href="http://saref.etsi.org/s4ener#" rel="nofollow">SAREF extension for energy</a> <a href="http://saref.etsi.org/s4ener#" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">energy</span> + </td> + <td> + <p id="user-content-collapse4"> + SAREF4ENER is an extension of SAREF for the Energy domain + </p> + <script> + $('#collapse4').click(function() { + if ($('a').hasClass('more4')) { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (<a href="http://www.energy-home.it" rel="nofollow">http://www.energy-home.it</a>) and EEBus (<a href="http://www.eebus.org/en" rel="nofollow">http://www.eebus.org/en</a>), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1). See less'); + } else { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... See more'); + } + }); + </script> + </td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4agri#" rel="nofollow">SAREF extension for the Smart Agriculture and Food Chain Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4inma#" rel="nofollow">SAREF extension for the Industry and Manufacturing Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <a href="https://www.linkedin.com/in/mderoode" rel="nofollow"> <span class="label label-primary">Mike de Roode</span> </a> + <span class="label label-primary">Matthijs Punter</span> + <span class="label label-primary">Alba Fernandez Izquierdo, UPM</span> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4city#" rel="nofollow">SAREF extension for the Smart City Domain</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="https://www.linkedin.com/in/paolaespinoza-arias/" rel="nofollow"> <span class="label label-primary">Paola Patricia Espinoza Arias</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/s4syst#" rel="nofollow">SAREF Systems</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="maxime-lefrancois.info"> <span class="label label-primary">Maxime Lefrançois</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + </tbody> + </table> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/index.html b/src/main/resources/saref-portal-generator/public/index.html new file mode 100644 index 0000000000000000000000000000000000000000..8ef786c88ae40344f3e0b6b18e3652366adbce5c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/index.html @@ -0,0 +1,252 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Home</span> + </span> + </a> + </li> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF core</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="/home/omar/workspaceEmse/saref-portal-generator-omar-tests/public/resources.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Resources</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">About us</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" + class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required + to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + + + <section id="introduction" class="g-wrapper"> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a> + What is SAREF? + </h1> + + + <p><strong>The Smart Appliances REFerence (SAREF)</strong> ontology is a shared model of consensus that facilitates the matching of existing assets in the smart appliances domain. </p> + <p><em>SAREF provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs.</em></p> + </div> + + <div class="g-container"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a> + Why SAREF? + </h1> + <p><strong>SAREF</strong> explicitly specifies recurring core concepts in the smart appliances domain, the main relationships between these concepts, and axioms to constrain the usage of these concepts and relationships. SAREF has been + created based on the following fundamental principles: <br> + + <ul style="list-style-type:disc;"> + <li><strong>Reuse and alignment</strong> of concepts and relationships that are defined in existing assets</li> + <li><strong>Modularity</strong> to allow separation and recombination of different parts of the ontology depending on specific needs</li> + <li><strong>Extensibility</strong> to allow further growth of the ontology</li> + <li><strong>Maintainability</strong> to facilitate the process of identifying and correcting defects, accommodate new + requirements, and cope with changes in (parts of) <strong>SAREF</strong></li> + + + </ul> + </p> + </div> + + + + <div class="g-container"> + <img src="/home/omar/workspaceEmse/saref-portal-generator-omar-tests/public/saref.png" alt="center" width="1400" height="800"> + </div> + + </section> + + + + </section> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> diff --git a/src/main/resources/saref-portal-generator/public/keywordSearchPage.html b/src/main/resources/saref-portal-generator/public/keywordSearchPage.html new file mode 100644 index 0000000000000000000000000000000000000000..df7411ea9e17a20b97cda975295e143a1aa9febc --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/keywordSearchPage.html @@ -0,0 +1,227 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Home</span> + </span> + </a> + </li> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF core</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="/home/omar/workspaceEmse/saref-portal-generator-omar-tests/public/resources.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Resources</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">About us</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" + class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required + to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + + +<section id="introduction" class="g-wrapper"> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a> + The results for your search query: + + </h1> + + <pre> + + --------------------------------------------------------------------------------- | s | label | ================================================================================= | <https://saref.etsi.org/hasMeterReadingType> | "has meter reading type" | | <https://saref.etsi.org/hasMeterReading> | "has meter reading" | | <https://saref.etsi.org/MeterReading> | "Meter reading" | | <https://saref.etsi.org/MeteringFunction> | "Metering function" | | <https://saref.etsi.org/hasSensorType> | "has sensor type" | | <https://saref.etsi.org/Meter> | "Meter" | | <https://saref.etsi.org/EnergyMeter> | "Energy meter" | | <https://saref.etsi.org/GetMeterHistoryCommand> | "Get meter history command" | | <https://saref.etsi.org/GetMeterDataCommand> | "Get meter data command" | | <https://saref.etsi.org/hasMeterReading> | "has meter reading" | --------------------------------------------------------------------------------- + +</pre> + + </div> + + +<footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> +</footer> +</div> +</body> + +</html> + diff --git a/src/main/resources/saref-portal-generator/public/lode/desktop.ini b/src/main/resources/saref-portal-generator/public/lode/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/lode/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/lode/extra.css b/src/main/resources/saref-portal-generator/public/lode/extra.css new file mode 100644 index 0000000000000000000000000000000000000000..38e86dcf061d461a1cfbc3943ff1ab5c888154a5 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/lode/extra.css @@ -0,0 +1,124 @@ +body { + text-align: justify; +} + +h1 { + line-height: 110%; +} + +.hlist { + border: 1px solid navy; + padding:5px; + background-color: #F4FFFF; +} + +.hlist li { + display: inline; + display: inline-table; + list-style-type: none; + padding-right: 20px; + +} + +.entity { + border: 1px solid navy; + margin:5px 0px 5px 0px; + padding: 5px; +} + +.type-c { + cursor:help; + color:orange; +} + +.type-op { + cursor:help; + color:navy; +} + +.type-dp { + cursor:help; + color:green; +} + +.type-ap { + cursor:help; + color:maroon; +} + +.type-ni { + cursor:help; + color:brown; +} + +.logic { + color:purple; + font-weight:bold; +} + +h3 { + margin-top: 3px; + padding-bottom: 5px; + border-bottom: 1px solid navy; +} + +h2 { + margin-top:40px; +} + +.dotted { + border-bottom: 1px dotted gray; +} + +dt { + margin-top:5px; +} + +.description { + border-top: 1px dashed gray; + border-bottom: 1px dashed gray; + background-color: rgb(242, 243, 244); + margin-top:5px; + padding-bottom:5px; +} + +.description dl { + background-color: rgb(242, 243, 244); +} + +.description ul { + padding-left: 12px; + margin-top: 0px; +} + +.backlink { + font-size:10pt; + text-align:right; + float:right; + color:black; + padding: 2px; + border: 1px dotted navy; + background-color: #F4FFFF; +} + +.imageblock { + text-align: center; +} + +.imageblock img { + border:1px solid gray; +} + +.endnote { + margin-top: 40px; + border-top: 1px solid gray; + padding-top: 10px; + text-align: center; + color:gray; + font-size:70%; +} + +.literal { + color:green; + font-style:italic; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/lode/owl.css b/src/main/resources/saref-portal-generator/public/lode/owl.css new file mode 100644 index 0000000000000000000000000000000000000000..9e80a257a37f672ee0d6e3380311bbe04d76a958 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/lode/owl.css @@ -0,0 +1,248 @@ +.RFC2119 { + text-transform: lowercase; + font-style: italic; +} +.nonterminal { + font-weight: bold; + font-family: sans-serif; + font-size: 95%; +} +#abstract br { + /* doesn't work right SOMETIMES + margin-bottom: 1em; */ +} +.name { + font-family: monospace; +} +.buttonpanel { + margin-top: 1ex; + margin-bottom: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-top: 1ex; + padding-bottom: 0.6ex; + border: 1px dotted black; +} +.grammar { + margin-top: 1ex; + margin-bottom: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-top: 1ex; + padding-bottom: 0.6ex; + border: 1px dashed #2f6fab; + font-family: monospace; +} +.image { + text-align: center; +} +.centered { + text-align: center; + padding-top: 4ex; + padding-bottom: 4ex; +} +.centered table { + margin: 0 auto; + text-align: left; +} +.caption { + font-weight: bold; +} +.indent { + margin-left: 20px; +} +.atrisknote { + padding: 5px; + margin-top: 10px; + margin-bottom: 10px; + border: solid 2px blue; + background-color: #FFA; +} +.atrisknotehead { + font-style: italic; +} + +/* Stying the examples. */ + +.anexample:before { + content: "Example:"; + font-family: sans-serif; + font-size: 1.6ex; + font-weight: bold; +} +.anexample { + margin-top: 1ex; + margin-bottom: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-top: 1ex; + padding-bottom: 0.6ex; + border: 1px dashed #2f6fab; + background-color: #f9f9f9; +} +.anexample table { + background-color: #f9f9f9; +} + +/* Styling the parts in the functional-style syntax. */ + +div.fss { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; + font-family: monospace; +} +table.fss { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; + width: 100%; +} +table.fss caption.fss { + font-size: 1.5ex; + font-weight: bold; + text-align: left; + padding-left: 10px; +} +table.fss td:first-child { + font-family: monospace; + padding-left: 20px; + padding-right: 20px; + width: 60%; +} +table{ + background-color: #f4ffff; + border: 1px solid navy; + margin: 20px; + vertical-align: middle; +} +table td { + padding: 5px 15px; + text-align: left; +} + +/* Styling the parts in the RDF syntax. */ + +div.rdf{ + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; + font-family: monospace; +} +table.rdf { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; + width: 100%; +} +table.rdf caption.rdf { + font-size: 1.5ex; + font-weight: bold; + text-align: left; + padding-left: 10px; +} +table.rdf td:first-child { + font-family: monospace; + padding-left: 20px; + padding-right: 20px; + width: 60%; +} + +/* Styling the XML syntax. */ + +div.xmlsyn { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; + font-family: monospace; +} +div.axioms { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 20px; + margin-right: 20px; +} + +/* Other styles. */ + +table.complexity td { + text-align: center; +} +table.allname td { + font-family: monospace; +} +table.canonicalparsing { + margin-left: 20px; + border-style: none; +} +table.canonicalparsing td { + vertical-align: top; + padding: 2px 2px 2px 2px; +} +table.canonicalparsing td.two { + padding-left: 30px; +} + +/* The following are classes for templates used in the editing process. */ + +.review { + padding: 5px; + border: solid 1px black; + margin-left: 10%; + margin-top: 10px; + margin-bottom: 10px; + background-color: #FFA; + font-size: smaller; +} +.reviewauthor { + font-size: smaller; + font-style: italic; +} +.ednote { + padding: 5px; + border: solid 1px black; + margin-top: 10px; + margin-bottom: 10px; +} +.ednotehead { + font-weight: bold; +} + +/* override mediawiki's beautiful DL styling... */ +dl { + background: white; + width: 100%; + border: none; + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} + +div { + margin-top: 0; + margin-bottom: 0; +} +#fulltitle { + font-size: 140%; + font-weight: bold; +} + +.xml { + color: red +} + +.rdbms{ +color: red +} + +/* just copying from wiki, so it stays through TR. Currently + affects Primer, at least */ +pre { + background-color:#F9F9F9; + border:1px dashed #2F6FAB; + color:black; + line-height:1.1em; + padding:1em; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/lode/primer.css b/src/main/resources/saref-portal-generator/public/lode/primer.css new file mode 100644 index 0000000000000000000000000000000000000000..fc28be7169638d433e9e0576fc93c1991dd50328 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/lode/primer.css @@ -0,0 +1,103 @@ +/* define a class "noprint" for sections which don't get printed */ +.noprint { display: none; } + +/* our syntax menu for switching */ +div.syntaxmenu { + border: 1px dotted black; + padding:0.5em; + margin: 1em; +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +@media print { + div.syntaxmenu { display:none; } +} + +/* use tab-like headers for syntax examples */ +div.exampleheader { + font-size: 90%; + float: left; + background: #F9F9F9; + color: #2F6FAB; + border: 1px dashed #2F6FAB; + border-bottom: 0px; + padding-top: 2px; +} + +div.exampleheader span.exampleheader { + background: #F9F9F9; + padding-top: 0px; + padding-right: 10px; + padding-left: 10px; + padding-bottom: 3px; + padding-top: 0px; +} + +/* Also copy MediaWiki style here, so it will not look different when exported */ +div.fssyntax pre, div.rdfxml pre, div.owlxml pre, div.turtle pre, div.manchester pre { + background-color: #F9F9F9; + border: 1px dashed #2F6FAB; + color: black; + line-height: 1.1em; + padding: 1em; + clear: both; + margin-left: 0em; +} +/* Expansion to add the status*/ +.status { + position: fixed; + left: 0em; + top: 0em; + text-align: right; + vertical-align: middle; + /* Square version of the inside span. Slightly larger */ + width: 26em; + height: 26em; + z-index: -1; + opacity: 0.8; + + /** From http://stackoverflow.com/questions/1080792/how-to-draw-vertical-text-with-css-cross-browser */ + + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + transform: rotate(-90deg); + /* also accepts left, right, top, bottom coordinates; not + * required, but a good idea for styling */ + -webkit-transform-origin: 50% 50%; + -moz-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + -o-transform-origin: 50% 50%; + transform-origin: 50% 50%; + + /* Should be unset in IE9+ I think. */ + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); +} + +/* The actual status box */ + .status div { + display: block; + background: rgb(0, 90, 156); + color: white; + width: 24em; + padding-top: 0.3em; + padding-left: 0em; + padding-right: 5em; + padding-bottom: 0.3em; + /* Enable for debugging + border: red thin solid; + */ +} + +/* And text inside, don't confuse fonts as it breaks em above */ +.status div span { + font-family: "Tauri"; + font-size: larger; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/lode/rec.css b/src/main/resources/saref-portal-generator/public/lode/rec.css new file mode 100644 index 0000000000000000000000000000000000000000..aaecd48cb731e782529ba02487f7e37a941ad725 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/lode/rec.css @@ -0,0 +1,45 @@ +body { + counter-reset: section; +} + +h2 { + counter-reset: subsection +} + +h2:before { + counter-increment: section; + content: counter(section) ". "; +} + +h3:before { + counter-increment: subsection; + content: counter(section) "."counter(subsection) ". "; +} + + +@media aural { + + h1, + h2, + h3 { + stress: 20; + richness: 90 + } + + .hide { + speak: none + } + + p.copyright { + volume: x-soft; + speech-rate: x-fast + } + + dt { + pause-before: 20% + } + + pre { + speak-punctuation: code + } +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/desktop.ini b/src/main/resources/saref-portal-generator/public/media/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/bootstrap-gantry.css b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/bootstrap-gantry.css new file mode 100644 index 0000000000000000000000000000000000000000..6ed188051e3ffda0a993870b5dc3c1f619cc340e --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/bootstrap-gantry.css @@ -0,0 +1,5220 @@ +/*! +* Bootstrap v2.3.2 +* +* Copyright 2012 Twitter, Inc +* Licensed under the Apache License v2.0 +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Designed and built with all the love in the world @twitter by @mdo and @fat. +*/ + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +#map_canvas img, +.google-maps img { + max-width: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; + line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } +} + +.img-rounded { + border-radius: 6px; +} + +.img-circle { + border-radius: 500px; +} + +.row { + /* margin-left: -20px;*/ + margin-left: 0px; + *zoom: 1; +} + +.row:before, +.row:after { + display: table; + line-height: 0; + content: ""; +} + +.row:after { + clear: both; +} + +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +.span12 { + width: 940px; +} + +.span11 { + width: 860px; +} + +.span10 { + width: 780px; +} + +.span9 { + width: 700px; +} + +.span8 { + width: 620px; +} + +.span7 { + width: 540px; +} + +.span6 { + width: 460px; +} + +.span5 { + width: 380px; +} + +.span4 { + width: 300px; +} + +.span3 { + width: 220px; +} + +.span2 { + width: 140px; +} + +.span1 { + width: 60px; +} + +.offset12 { + margin-left: 980px; +} + +.offset11 { + margin-left: 900px; +} + +.offset10 { + margin-left: 820px; +} + +.offset9 { + margin-left: 740px; +} + +.offset8 { + margin-left: 660px; +} + +.offset7 { + margin-left: 580px; +} + +.offset6 { + margin-left: 500px; +} + +.offset5 { + margin-left: 420px; +} + +.offset4 { + margin-left: 340px; +} + +.offset3 { + margin-left: 260px; +} + +.offset2 { + margin-left: 180px; +} + +.offset1 { + margin-left: 100px; +} + +.row-fluid { + width: 100%; + *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.row-fluid:after { + clear: both; +} + +.row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.row-fluid .controls-row [class*="span"]+[class*="span"] { + margin-left: 2.127659574468085%; +} + +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} + +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} + +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} + +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} + +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} + +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} + +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} + +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} + +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} + +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} + +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} + +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} + +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} + +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} + +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} + +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} + +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} + +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} + +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} + +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} + +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} + +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} + +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} + +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} + +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} + +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} + +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} + +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} + +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} + +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} + +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} + +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} + +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} + +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} + +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} + +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} + +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +small { + font-size: 85%; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +cite { + font-style: normal; +} + +.muted { + color: #999999; +} + +a.muted:hover, +a.muted:focus { + color: #808080; +} + +.text-warning { + color: #c09853; +} + +a.text-warning:hover, +a.text-warning:focus { + color: #a47e3c; +} + +.text-error { + color: #b94a48; +} + +a.text-error:hover, +a.text-error:focus { + color: #953b39; +} + +.text-info { + color: #3a87ad; +} + +a.text-info:hover, +a.text-info:focus { + color: #2d6987; +} + +.text-success { + color: #468847; +} + +a.text-success:hover, +a.text-success:focus { + color: #356635; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; +} + +ul.inline>li, +ol.inline>li { + display: inline-block; + *display: inline; + padding-right: 5px; + padding-left: 5px; + *zoom: 1; +} + +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + +.dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dl-horizontal dd { + margin-left: 180px; +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote p { + margin-bottom: 0; + font-weight: 300; +} + +blockquote small { + display: block; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + float: right; + padding-left: 0; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + font-style: normal; +} + +code, +pre { + padding: 0 3px 2px; +} + +code { + padding: 2px 4px; + white-space: nowrap; +} + +pre { + display: block; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; +} + +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +form { + margin: 0 0 20px; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + border: 0; +} + +label { + display: block; + margin-bottom: 5px; +} + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + padding: 4px 6px; + margin-bottom: 10px; + font-size: 14px; + vertical-align: middle; + border-radius: 4px; +} + +input, +textarea, +.uneditable-input { + width: 206px; +} + +textarea { + height: auto; +} + +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; +} + +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + line-height: 30px; +} + +select { + width: 220px; + background-color: #ffffff; + border: 1px solid #cccccc; +} + +select[multiple], +select[size] { + height: auto; +} + +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.uneditable-input, +.uneditable-textarea { + color: #999999; + cursor: not-allowed; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +.uneditable-textarea { + width: auto; + height: auto; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +.radio, +.checkbox { + min-height: 20px; + padding-left: 20px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.controls>.radio:first-child, +.controls>.checkbox:first-child { + padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline+.radio.inline, +.checkbox.inline+.checkbox.inline { + margin-left: 10px; +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +.input-medium { + width: 150px; +} + +.input-large { + width: 210px; +} + +.input-xlarge { + width: 270px; +} + +.input-xxlarge { + width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +.controls-row [class*="span"]+[class*="span"] { + margin-left: 20px; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { + float: left; +} + +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +.control-group.warning .control-label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.control-group.error .control-label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.control-group.success .control-label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.control-group.info .control-label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} + +.form-actions:before, +.form-actions:after { + display: table; + line-height: 0; + content: ""; +} + +.form-actions:after { + clear: both; +} + +.help-block, +.help-inline { + color: #595959; +} + +.help-block { + display: block; + margin-bottom: 10px; +} + +.help-inline { + display: inline-block; + *display: inline; + padding-left: 5px; + vertical-align: middle; + *zoom: 1; +} + +.input-append, +.input-prepend { + display: inline-block; + margin-bottom: 10px; + font-size: 0; + white-space: nowrap; + vertical-align: middle; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input, +.input-append .dropdown-menu, +.input-prepend .dropdown-menu, +.input-append .popover, +.input-prepend .popover { + font-size: 14px; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: top; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #ccc; +} + +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn, +.input-append .btn-group>.dropdown-toggle, +.input-prepend .btn-group>.dropdown-toggle { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input+.btn-group .btn:last-child, +.input-append select+.btn-group .btn:last-child, +.input-append .uneditable-input+.btn-group .btn:last-child { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append .add-on, +.input-append .btn, +.input-append .btn-group { + margin-left: -1px; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child, +.input-append .btn-group:last-child>.dropdown-toggle { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-prepend.input-append input+.btn-group .btn, +.input-prepend.input-append select+.btn-group .btn, +.input-prepend.input-append .uneditable-input+.btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; +} + +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + margin-bottom: 0; + vertical-align: middle; + *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +.control-group { + margin-bottom: 10px; +} + +legend+.control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + line-height: 0; + content: ""; +} + +.form-horizontal .control-group:after { + clear: both; +} + +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} + +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.form-horizontal .controls:first-child { + *padding-left: 180px; +} + +.form-horizontal .help-block { + margin-bottom: 0; +} + +.form-horizontal input+.help-block, +.form-horizontal select+.help-block, +.form-horizontal textarea+.help-block, +.form-horizontal .uneditable-input+.help-block, +.form-horizontal .input-prepend+.help-block, +.form-horizontal .input-append+.help-block { + margin-top: 10px; +} + +.form-horizontal .form-actions { + padding-left: 180px; +} + +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +.table { + border: 0 solid; + width: 100%; + margin-bottom: 20px; +} + +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border: 0 solid; + border-top: 1px solid #dddddd; + background-color: transparent; +} + +.table th { + font-weight: bold; +} + +.table thead th { + vertical-align: bottom; +} + +.table caption+thead tr:first-child th, +.table caption+thead tr:first-child td, +.table colgroup+thead tr:first-child th, +.table colgroup+thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody+tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} + +.table-bordered caption+thead tr:first-child th, +.table-bordered caption+tbody tr:first-child th, +.table-bordered caption+tbody tr:first-child td, +.table-bordered colgroup+thead tr:first-child th, +.table-bordered colgroup+tbody tr:first-child th, +.table-bordered colgroup+tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} + +.table-bordered thead:first-child tr:first-child>th:first-child, +.table-bordered tbody:first-child tr:first-child>td:first-child, +.table-bordered tbody:first-child tr:first-child>th:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child>th:last-child, +.table-bordered tbody:first-child tr:first-child>td:last-child, +.table-bordered tbody:first-child tr:first-child>th:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child>th:first-child, +.table-bordered tbody:last-child tr:last-child>td:first-child, +.table-bordered tbody:last-child tr:last-child>th:first-child, +.table-bordered tfoot:last-child tr:last-child>td:first-child, +.table-bordered tfoot:last-child tr:last-child>th:first-child { + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child>th:last-child, +.table-bordered tbody:last-child tr:last-child>td:last-child, +.table-bordered tbody:last-child tr:last-child>th:last-child, +.table-bordered tfoot:last-child tr:last-child>td:last-child, +.table-bordered tfoot:last-child tr:last-child>th:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; +} + +.table-bordered tfoot+tbody:last-child tr:last-child td:first-child { + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; +} + +.table-bordered tfoot+tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; +} + +.table-bordered caption+thead tr:first-child th:first-child, +.table-bordered caption+tbody tr:first-child td:first-child, +.table-bordered colgroup+thead tr:first-child th:first-child, +.table-bordered colgroup+tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered caption+thead tr:first-child th:last-child, +.table-bordered caption+tbody tr:first-child td:last-child, +.table-bordered colgroup+thead tr:first-child th:last-child, +.table-bordered colgroup+tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-striped tbody>tr:nth-child(odd)>td, +.table-striped tbody>tr:nth-child(odd)>th { + background-color: #f9f9f9; +} + +.table-hover tbody tr:hover>td, +.table-hover tbody tr:hover>th { + background-color: #f5f5f5; +} + +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { + display: table-cell; + float: none; + margin-left: 0; +} + +.table td.span1, +.table th.span1 { + float: none; + width: 44px; + margin-left: 0; +} + +.table td.span2, +.table th.span2 { + float: none; + width: 124px; + margin-left: 0; +} + +.table td.span3, +.table th.span3 { + float: none; + width: 204px; + margin-left: 0; +} + +.table td.span4, +.table th.span4 { + float: none; + width: 284px; + margin-left: 0; +} + +.table td.span5, +.table th.span5 { + float: none; + width: 364px; + margin-left: 0; +} + +.table td.span6, +.table th.span6 { + float: none; + width: 444px; + margin-left: 0; +} + +.table td.span7, +.table th.span7 { + float: none; + width: 524px; + margin-left: 0; +} + +.table td.span8, +.table th.span8 { + float: none; + width: 604px; + margin-left: 0; +} + +.table td.span9, +.table th.span9 { + float: none; + width: 684px; + margin-left: 0; +} + +.table td.span10, +.table th.span10 { + float: none; + width: 764px; + margin-left: 0; +} + +.table td.span11, +.table th.span11 { + float: none; + width: 844px; + margin-left: 0; +} + +.table td.span12, +.table th.span12 { + float: none; + width: 924px; + margin-left: 0; +} + +.table tbody tr.success>td { + background-color: #dff0d8; +} + +.table tbody tr.error>td { + background-color: #f2dede; +} + +.table tbody tr.warning>td { + background-color: #fcf8e3; +} + +.table tbody tr.info>td { + background-color: #d9edf7; +} + +.table-hover tbody tr.success:hover>td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover>td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover>td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover>td { + background-color: #c4e3f3; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.dropdown-menu>li>a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu>li>a:hover, +.dropdown-menu>li>a:focus, +.dropdown-submenu:hover>a, +.dropdown-submenu:focus>a { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu>.active>a, +.dropdown-menu>.active>a:hover, +.dropdown-menu>.active>a:focus { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + outline: 0; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu>.disabled>a, +.dropdown-menu>.disabled>a:hover, +.dropdown-menu>.disabled>a:focus { + color: #999999; +} + +.dropdown-menu>.disabled>a:hover, +.dropdown-menu>.disabled>a:focus { + text-decoration: none; + cursor: default; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open { + *z-index: 1000; +} + +.open>.dropdown-menu { + display: block; +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} + +.pull-right>.dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu>.dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover>.dropdown-menu { + display: block; +} + +.dropup .dropdown-submenu>.dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} + +.dropdown-submenu>a:after { + display: block; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-color: transparent; + border-left-color: #cccccc; + border-style: solid; + border-width: 5px 0 5px 5px; + content: " "; +} + +.dropdown-submenu:hover>a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left>.dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.dropdown .dropdown-menu .nav-header { + padding-right: 20px; + padding-left: 20px; +} + +.typeahead { + z-index: 1051; + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.collapse.in { + height: auto; +} + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.btn { + display: inline-block; + *display: inline; + padding: 4px 12px; + margin-bottom: 0; + *margin-left: .3em; + font-size: 14px; + line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + *background-color: #e6e6e6; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #cccccc; + *border: 0; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-bottom-color: #b3b3b3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:focus, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { + background-color: #cccccc \9; +} + +.btn:first-child { + *margin-left: 0; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn.active, +.btn:active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-large { + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { + margin-top: 4px; +} + +.btn-small { + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { + margin-top: 0; +} + +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} + +.btn-mini { + padding: 0 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.btn-block+.btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + *background-color: #0044cc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} + +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} + +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + *background-color: #f89406; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} + +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} + +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + *background-color: #51a351; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-repeat: repeat-x; + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} + +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + *background-color: #2f96b4; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} + +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + *background-color: #222222; + background-image: -moz-linear-gradient(top, #444444, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-repeat: repeat-x; + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:focus, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-link { + color: #0088cc; + cursor: pointer; + border-color: transparent; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-link:hover, +.btn-link:focus { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +.btn-link[disabled]:focus { + color: #333333; + text-decoration: none; +} + +.btn-group { + position: relative; + display: inline-block; + *display: inline; + *margin-left: .3em; + font-size: 0; + white-space: nowrap; + vertical-align: middle; + *zoom: 1; +} + +.btn-group:first-child { + *margin-left: 0; +} + +.btn-group+.btn-group { + margin-left: 5px; +} + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; + font-size: 0; +} + +.btn-toolbar>.btn+.btn, +.btn-toolbar>.btn-group+.btn, +.btn-toolbar>.btn+.btn-group { + margin-left: 5px; +} + +.btn-group>.btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group>.btn+.btn { + margin-left: -1px; +} + +.btn-group>.btn, +.btn-group>.dropdown-menu, +.btn-group>.popover { + font-size: 14px; +} + +.btn-group>.btn-mini { + font-size: 10.5px; +} + +.btn-group>.btn-small { + font-size: 11.9px; +} + +.btn-group>.btn-large { + font-size: 17.5px; +} + +.btn-group>.btn:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.btn-group>.btn:last-child, +.btn-group>.dropdown-toggle { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.btn-group>.btn.large:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.btn-group>.btn.large:last-child, +.btn-group>.large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.btn-group>.btn:hover, +.btn-group>.btn:focus, +.btn-group>.btn:active, +.btn-group>.btn.active { + z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group>.btn+.dropdown-toggle { + *padding-top: 5px; + padding-right: 8px; + *padding-bottom: 5px; + padding-left: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group>.btn-mini+.dropdown-toggle { + *padding-top: 2px; + padding-right: 5px; + *padding-bottom: 2px; + padding-left: 5px; +} + +.btn-group>.btn-small+.dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group>.btn-large+.dropdown-toggle { + *padding-top: 7px; + padding-right: 12px; + *padding-bottom: 7px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +.btn-large .caret { + margin-top: 6px; +} + +.btn-large .caret { + border-top-width: 5px; + border-right-width: 5px; + border-left-width: 5px; +} + +.btn-mini .caret, +.btn-small .caret { + margin-top: 8px; +} + +.dropup .btn-large .caret { + border-bottom-width: 5px; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; +} + +.btn-group-vertical>.btn { + display: block; + float: none; + max-width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group-vertical>.btn+.btn { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical>.btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.btn-group-vertical>.btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.btn-group-vertical>.btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +.btn-group-vertical>.btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert, +.alert h4 { + color: #c09853; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + top: -2px; + right: -21px; + line-height: 20px; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success h4 { + color: #468847; +} + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info h4 { + color: #3a87ad; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block>p, +.alert-block>ul { + margin-bottom: 0; +} + +.alert-block p+p { + margin-top: 5px; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav>li>a { + display: block; +} + +.nav>li>a:hover, +.nav>li>a:focus { + text-decoration: none; + /*background-color: #eeeeee;*/ +} + +.nav>li>a>img { + max-width: none; +} + +.nav>.pull-right { + float: right; +} + +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +.nav li+.nav-header { + margin-top: 9px; +} + +.nav-list { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 0; +} + +.nav-list>li>a, +.nav-list .nav-header { + margin-right: -15px; + margin-left: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list>li>a { + padding: 3px 15px; +} + +.nav-list>.active>a, +.nav-list>.active>a:hover, +.nav-list>.active>a:focus { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + margin-right: 2px; +} + +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { + *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + line-height: 0; + content: ""; +} + +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +.nav-tabs>li, +.nav-pills>li { + float: left; +} + +.nav-tabs>li>a, +.nav-pills>li>a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +.nav-tabs>li { + margin-bottom: -1px; +} + +.nav-tabs>li>a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.nav-tabs>li>a:hover, +.nav-tabs>li>a:focus { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs>.active>a, +.nav-tabs>.active>a:hover, +.nav-tabs>.active>a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} + +.nav-pills>li>a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.nav-pills>.active>a, +.nav-pills>.active>a:hover, +.nav-pills>.active>a:focus { + color: #ffffff; + background-color: #0088cc; +} + +.nav-stacked>li { + float: none; +} + +.nav-stacked>li>a { + margin-right: 0; +} + +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +.nav-tabs.nav-stacked>li>a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.nav-tabs.nav-stacked>li:first-child>a { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; +} + +.nav-tabs.nav-stacked>li:last-child>a { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.nav-tabs.nav-stacked>li>a:hover, +.nav-tabs.nav-stacked>li>a:focus { + z-index: 2; + border-color: #ddd; +} + +.nav-pills.nav-stacked>li>a { + margin-bottom: 3px; +} + +.nav-pills.nav-stacked>li:last-child>a { + margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.nav .dropdown-toggle .caret { + margin-top: 6px; + border-top-color: #0088cc; + border-bottom-color: #0088cc; +} + +.nav .dropdown-toggle:hover .caret, +.nav .dropdown-toggle:focus .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ + +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} + +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.nav>.dropdown.active>a:hover, +.nav>.dropdown.active>a:focus { + cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav>li.dropdown.open.active>a:hover, +.nav>li.dropdown.open.active>a:focus { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret, +.nav li.dropdown.open a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} + +.tabs-stacked .open>a:hover, +.tabs-stacked .open>a:focus { + border-color: #999999; +} + +.tabbable { + *zoom: 1; +} + +.tabbable:before, +.tabbable:after { + display: table; + line-height: 0; + content: ""; +} + +.tabbable:after { + clear: both; +} + +.tab-content { + overflow: auto; +} + +.tabs-below>.nav-tabs, +.tabs-right>.nav-tabs, +.tabs-left>.nav-tabs { + border-bottom: 0; +} + +.tab-content>.tab-pane, +.pill-content>.pill-pane { + display: none; +} + +.tab-content>.active, +.pill-content>.active { + display: block; +} + +.tabs-below>.nav-tabs { + border-top: 1px solid #ddd; +} + +.tabs-below>.nav-tabs>li { + margin-top: -1px; + margin-bottom: 0; +} + +.tabs-below>.nav-tabs>li>a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.tabs-below>.nav-tabs>li>a:hover, +.tabs-below>.nav-tabs>li>a:focus { + border-top-color: #ddd; + border-bottom-color: transparent; +} + +.tabs-below>.nav-tabs>.active>a, +.tabs-below>.nav-tabs>.active>a:hover, +.tabs-below>.nav-tabs>.active>a:focus { + border-color: transparent #ddd #ddd #ddd; +} + +.tabs-left>.nav-tabs>li, +.tabs-right>.nav-tabs>li { + float: none; +} + +.tabs-left>.nav-tabs>li>a, +.tabs-right>.nav-tabs>li>a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +.tabs-left>.nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} + +.tabs-left>.nav-tabs>li>a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.tabs-left>.nav-tabs>li>a:hover, +.tabs-left>.nav-tabs>li>a:focus { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left>.nav-tabs .active>a, +.tabs-left>.nav-tabs .active>a:hover, +.tabs-left>.nav-tabs .active>a:focus { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} + +.tabs-right>.nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} + +.tabs-right>.nav-tabs>li>a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.tabs-right>.nav-tabs>li>a:hover, +.tabs-right>.nav-tabs>li>a:focus { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right>.nav-tabs .active>a, +.tabs-right>.nav-tabs .active>a:hover, +.tabs-right>.nav-tabs .active>a:focus { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} + +.nav>.disabled>a { + color: #999999; +} + +.nav>.disabled>a:hover, +.nav>.disabled>a:focus { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.navbar { + *position: relative; + *z-index: 2; + margin-bottom: 20px; + overflow: visible; +} + +.navbar-inner { + min-height: 40px; + padding-right: 20px; + padding-left: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + +.navbar .container { + width: auto; +} + +.nav-collapse.collapse { + height: auto; + overflow: visible; +} + +.navbar .brand { + display: block; + float: left; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .brand:hover, +.navbar .brand:focus { + text-decoration: none; +} + +.navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #777777; +} + +.navbar-link { + color: #777777; +} + +.navbar-link:hover, +.navbar-link:focus { + color: #333333; +} + +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-right: 1px solid #ffffff; + border-left: 1px solid #f2f2f2; +} + +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn, +.navbar .input-prepend .btn-group, +.navbar .input-append .btn-group { + margin-top: 0; +} + +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-form:after { + clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 5px; + white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} + +.navbar-search .search-query { + padding: 4px 14px; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.navbar-static-top { + position: static; + margin-bottom: 0; +} + +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-right: 0; + padding-left: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +.navbar .nav>li { + float: left; +} + +.navbar .nav>li>a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +.navbar .nav>li>a:focus, +.navbar .nav>li>a:hover { + color: #333333; + text-decoration: none; + background-color: transparent; +} + +.navbar .nav>.active>a, +.navbar .nav>.active>a:hover, +.navbar .nav>.active>a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-right: 5px; + margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + *background-color: #e5e5e5; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:focus, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar+.icon-bar { + margin-top: 3px; +} + +.navbar .nav>li>.dropdown-menu:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.navbar .nav>li>.dropdown-menu:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.navbar-fixed-bottom .nav>li>.dropdown-menu:before { + top: auto; + bottom: -7px; + border-top: 7px solid #ccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .nav>li>.dropdown-menu:after { + top: auto; + bottom: -6px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.navbar .nav li.dropdown>a:hover .caret, +.navbar .nav li.dropdown>a:focus .caret { + border-top-color: #333333; + border-bottom-color: #333333; +} + +.navbar .nav li.dropdown.open>.dropdown-toggle, +.navbar .nav li.dropdown.active>.dropdown-toggle, +.navbar .nav li.dropdown.open.active>.dropdown-toggle { + color: #555555; + background-color: #e5e5e5; +} + +.navbar .nav li.dropdown>.dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +.navbar .nav li.dropdown.open>.dropdown-toggle .caret, +.navbar .nav li.dropdown.active>.dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar .pull-right>li>.dropdown-menu, +.navbar .nav>li>.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar .pull-right>li>.dropdown-menu:before, +.navbar .nav>li>.dropdown-menu.pull-right:before { + right: 12px; + left: auto; +} + +.navbar .pull-right>li>.dropdown-menu:after, +.navbar .nav>li>.dropdown-menu.pull-right:after { + right: 13px; + left: auto; +} + +.navbar .pull-right>li>.dropdown-menu .dropdown-menu, +.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu { + right: 100%; + left: auto; + margin-right: -1px; + margin-left: 0; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + border-color: #252525; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); +} + +.navbar-inverse .brand, +.navbar-inverse .nav>li>a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar-inverse .brand:hover, +.navbar-inverse .nav>li>a:hover, +.navbar-inverse .brand:focus, +.navbar-inverse .nav>li>a:focus { + color: #ffffff; +} + +.navbar-inverse .brand { + color: #999999; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .nav>li>a:focus, +.navbar-inverse .nav>li>a:hover { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .nav .active>a, +.navbar-inverse .nav .active>a:hover, +.navbar-inverse .nav .active>a:focus { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover, +.navbar-inverse .navbar-link:focus { + color: #ffffff; +} + +.navbar-inverse .divider-vertical { + border-right-color: #222222; + border-left-color: #111111; +} + +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle, +.navbar-inverse .nav li.dropdown.active>.dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .nav li.dropdown>a:hover .caret, +.navbar-inverse .nav li.dropdown>a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + outline: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + *background-color: #040404; + background-image: -moz-linear-gradient(top, #151515, #040404); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-repeat: repeat-x; + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:focus, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} + +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} + +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.breadcrumb>li { + display: inline-block; + *display: inline; + text-shadow: 0 1px 0 #ffffff; + *zoom: 1; +} + +.breadcrumb>li>.divider { + padding: 0 5px; + color: #ccc; +} + +.breadcrumb>.active { + color: #999999; +} + +.pagination { + margin: 20px 0; +} + +.pagination ul { + display: inline-block; + *display: inline; + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *zoom: 1; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination ul>li { + display: inline; +} + +.pagination ul>li>a, +.pagination ul>li>span { + float: left; + padding: 4px 12px; + line-height: 20px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} + +.pagination ul>li>a:hover, +.pagination ul>li>a:focus, +.pagination ul>.active>a, +.pagination ul>.active>span { + background-color: #f5f5f5; +} + +.pagination ul>.active>a, +.pagination ul>.active>span { + color: #999999; + cursor: default; +} + +.pagination ul>.disabled>span, +.pagination ul>.disabled>a, +.pagination ul>.disabled>a:hover, +.pagination ul>.disabled>a:focus { + color: #999999; + cursor: default; + background-color: transparent; +} + +.pagination ul>li:first-child>a, +.pagination ul>li:first-child>span { + border-left-width: 1px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.pagination ul>li:last-child>a, +.pagination ul>li:last-child>span { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.pagination-centered { + text-align: center; +} + +.pagination-right { + text-align: right; +} + +.pagination-large ul>li>a, +.pagination-large ul>li>span { + padding: 11px 19px; + font-size: 17.5px; +} + +.pagination-large ul>li:first-child>a, +.pagination-large ul>li:first-child>span { + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.pagination-large ul>li:last-child>a, +.pagination-large ul>li:last-child>span { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.pagination-mini ul>li:first-child>a, +.pagination-small ul>li:first-child>a, +.pagination-mini ul>li:first-child>span, +.pagination-small ul>li:first-child>span { + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; +} + +.pagination-mini ul>li:last-child>a, +.pagination-small ul>li:last-child>a, +.pagination-mini ul>li:last-child>span, +.pagination-small ul>li:last-child>span { + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; +} + +.pagination-small ul>li>a, +.pagination-small ul>li>span { + padding: 2px 10px; + font-size: 11.9px; +} + +.pagination-mini ul>li>a, +.pagination-mini ul>li>span { + padding: 0 6px; + font-size: 10.5px; +} + +.pager { + margin: 20px 0; + text-align: center; + list-style: none; + *zoom: 1; +} + +.pager:before, +.pager:after { + display: table; + line-height: 0; + content: ""; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li>a, +.pager li>span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.pager li>a:hover, +.pager li>a:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +.pager .next>a, +.pager .next>span { + float: right; +} + +.pager .previous>a, +.pager .previous>span { + float: left; +} + +.pager .disabled>a, +.pager .disabled>a:hover, +.pager .disabled>a:focus, +.pager .disabled>span { + color: #999999; + cursor: default; + background-color: #fff; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} + +.modal-header .close { + margin-top: 2px; +} + +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +.modal-body { + position: relative; + max-height: 400px; + padding: 15px; + overflow-y: auto; +} + +.modal-form { + margin-bottom: 0; +} + +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + line-height: 0; + content: ""; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn+.btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn+.btn { + margin-left: -1px; +} + +.modal-footer .btn-block+.btn-block { + margin-left: 0; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 11px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.popover-title:empty { + display: none; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; +} + +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { + display: table; + line-height: 0; + content: ""; +} + +.thumbnails:after { + clear: both; +} + +.row-fluid .thumbnails { + margin-left: 0; +} + +.thumbnails>li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail>img { + display: block; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media>.pull-left { + margin-right: 10px; +} + +.media>.pull-right { + margin-left: 10px; +} + +.media-list { + margin-left: 0; + list-style: none; +} + +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; +} + +.label { + border-radius: 3px; +} + +.badge { + padding-right: 9px; + padding-left: 9px; + border-radius: 9px; +} + +.label:empty, +.badge:empty { + display: none; +} + +a.label:hover, +a.label:focus, +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress .bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress .bar+.bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} + +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} + +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { + margin-bottom: 20px; +} + +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.accordion-heading { + border-bottom: 0; +} + +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +.accordion-toggle { + cursor: pointer; +} + +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner>.item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner>.item>img, +.carousel-inner>.item>a>img { + display: block; + line-height: 1; +} + +.carousel-inner>.active, +.carousel-inner>.next, +.carousel-inner>.prev { + display: block; +} + +.carousel-inner>.active { + left: 0; +} + +.carousel-inner>.next, +.carousel-inner>.prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner>.next { + left: 100%; +} + +.carousel-inner>.prev { + left: -100%; +} + +.carousel-inner>.next.left, +.carousel-inner>.prev.right { + left: 0; +} + +.carousel-inner>.active.left { + left: -100%; +} + +.carousel-inner>.active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.right { + right: 15px; + left: auto; +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-indicators { + position: absolute; + top: 15px; + right: 15px; + z-index: 5; + margin: 0; + list-style: none; +} + +.carousel-indicators li { + display: block; + float: left; + width: 10px; + height: 10px; + margin-left: 5px; + text-indent: -999px; + background-color: #ccc; + background-color: rgba(255, 255, 255, 0.25); + border-radius: 5px; +} + +.carousel-indicators .active { + background-color: #fff; +} + +.carousel-caption { + position: absolute; + right: 0; + bottom: 0; + left: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { + line-height: 20px; + color: #ffffff; +} + +.carousel-caption h4 { + margin: 0 0 5px; +} + +.carousel-caption p { + margin-bottom: 0; +} + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + color: inherit; +} + +.hero-unit li { + line-height: 30px; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.hide { + display: none; +} + +.show { + display: block; +} + +.invisible { + visibility: hidden; +} + +.affix { + position: fixed; +} + +/* Joomla JUI NOTE: Original .modal definition has to be commented in modals.less and responsive-767px-max.less */ + +/* Joomla JUI NOTE: Original .modal definition has to be commented */ + +div.modal { + position: fixed; + top: 10%; + left: 50%; + z-index: 1050; + width: 560px; + margin-left: -280px; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} + +div.modal.fade { + top: -25%; + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; +} + +div.modal.fade.in { + top: 10%; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/font-awesome.min.css b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/font-awesome.min.css new file mode 100644 index 0000000000000000000000000000000000000000..650a06e2d00d9ec414408fede9568a170b170747 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/css/font-awesome.min.css @@ -0,0 +1,3044 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal +} + +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.fa-lg { + font-size: 1.33333333em; + line-height: .75em; + vertical-align: -15% +} + +.fa-2x { + font-size: 2em +} + +.fa-3x { + font-size: 3em +} + +.fa-4x { + font-size: 4em +} + +.fa-5x { + font-size: 5em +} + +.fa-fw { + width: 1.28571429em; + text-align: center +} + +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none +} + +.fa-ul>li { + position: relative +} + +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: .14285714em; + text-align: center +} + +.fa-li.fa-lg { + left: -1.85714286em +} + +.fa-border { + padding: .2em .25em .15em; + border: solid .08em #eee; + border-radius: .1em +} + +.fa-pull-left { + float: left +} + +.fa-pull-right { + float: right +} + +.fa.fa-pull-left { + margin-right: .3em +} + +.fa.fa-pull-right { + margin-left: .3em +} + +.pull-right { + float: right +} + +.pull-left { + float: left +} + +.fa.pull-left { + margin-right: .3em +} + +.fa.pull-right { + margin-left: .3em +} + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear +} + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8) +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg) + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg) + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg) + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg) + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg) +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg) +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg) +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1) +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1) +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none +} + +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle +} + +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center +} + +.fa-stack-1x { + line-height: inherit +} + +.fa-stack-2x { + font-size: 2em +} + +.fa-inverse { + color: #fff +} + +.fa-glass:before { + content: "\f000" +} + +.fa-music:before { + content: "\f001" +} + +.fa-search:before { + content: "\f002" +} + +.fa-envelope-o:before { + content: "\f003" +} + +.fa-heart:before { + content: "\f004" +} + +.fa-star:before { + content: "\f005" +} + +.fa-star-o:before { + content: "\f006" +} + +.fa-user:before { + content: "\f007" +} + +.fa-film:before { + content: "\f008" +} + +.fa-th-large:before { + content: "\f009" +} + +.fa-th:before { + content: "\f00a" +} + +.fa-th-list:before { + content: "\f00b" +} + +.fa-check:before { + content: "\f00c" +} + +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d" +} + +.fa-search-plus:before { + content: "\f00e" +} + +.fa-search-minus:before { + content: "\f010" +} + +.fa-power-off:before { + content: "\f011" +} + +.fa-signal:before { + content: "\f012" +} + +.fa-gear:before, +.fa-cog:before { + content: "\f013" +} + +.fa-trash-o:before { + content: "\f014" +} + +.fa-home:before { + content: "\f015" +} + +.fa-file-o:before { + content: "\f016" +} + +.fa-clock-o:before { + content: "\f017" +} + +.fa-road:before { + content: "\f018" +} + +.fa-download:before { + content: "\f019" +} + +.fa-arrow-circle-o-down:before { + content: "\f01a" +} + +.fa-arrow-circle-o-up:before { + content: "\f01b" +} + +.fa-inbox:before { + content: "\f01c" +} + +.fa-play-circle-o:before { + content: "\f01d" +} + +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e" +} + +.fa-refresh:before { + content: "\f021" +} + +.fa-list-alt:before { + content: "\f022" +} + +.fa-lock:before { + content: "\f023" +} + +.fa-flag:before { + content: "\f024" +} + +.fa-headphones:before { + content: "\f025" +} + +.fa-volume-off:before { + content: "\f026" +} + +.fa-volume-down:before { + content: "\f027" +} + +.fa-volume-up:before { + content: "\f028" +} + +.fa-qrcode:before { + content: "\f029" +} + +.fa-barcode:before { + content: "\f02a" +} + +.fa-tag:before { + content: "\f02b" +} + +.fa-tags:before { + content: "\f02c" +} + +.fa-book:before { + content: "\f02d" +} + +.fa-bookmark:before { + content: "\f02e" +} + +.fa-print:before { + content: "\f02f" +} + +.fa-camera:before { + content: "\f030" +} + +.fa-font:before { + content: "\f031" +} + +.fa-bold:before { + content: "\f032" +} + +.fa-italic:before { + content: "\f033" +} + +.fa-text-height:before { + content: "\f034" +} + +.fa-text-width:before { + content: "\f035" +} + +.fa-align-left:before { + content: "\f036" +} + +.fa-align-center:before { + content: "\f037" +} + +.fa-align-right:before { + content: "\f038" +} + +.fa-align-justify:before { + content: "\f039" +} + +.fa-list:before { + content: "\f03a" +} + +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b" +} + +.fa-indent:before { + content: "\f03c" +} + +.fa-video-camera:before { + content: "\f03d" +} + +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e" +} + +.fa-pencil:before { + content: "\f040" +} + +.fa-map-marker:before { + content: "\f041" +} + +.fa-adjust:before { + content: "\f042" +} + +.fa-tint:before { + content: "\f043" +} + +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044" +} + +.fa-share-square-o:before { + content: "\f045" +} + +.fa-check-square-o:before { + content: "\f046" +} + +.fa-arrows:before { + content: "\f047" +} + +.fa-step-backward:before { + content: "\f048" +} + +.fa-fast-backward:before { + content: "\f049" +} + +.fa-backward:before { + content: "\f04a" +} + +.fa-play:before { + content: "\f04b" +} + +.fa-pause:before { + content: "\f04c" +} + +.fa-stop:before { + content: "\f04d" +} + +.fa-forward:before { + content: "\f04e" +} + +.fa-fast-forward:before { + content: "\f050" +} + +.fa-step-forward:before { + content: "\f051" +} + +.fa-eject:before { + content: "\f052" +} + +.fa-chevron-left:before { + content: "\f053" +} + +.fa-chevron-right:before { + content: "\f054" +} + +.fa-plus-circle:before { + content: "\f055" +} + +.fa-minus-circle:before { + content: "\f056" +} + +.fa-times-circle:before { + content: "\f057" +} + +.fa-check-circle:before { + content: "\f058" +} + +.fa-question-circle:before { + content: "\f059" +} + +.fa-info-circle:before { + content: "\f05a" +} + +.fa-crosshairs:before { + content: "\f05b" +} + +.fa-times-circle-o:before { + content: "\f05c" +} + +.fa-check-circle-o:before { + content: "\f05d" +} + +.fa-ban:before { + content: "\f05e" +} + +.fa-arrow-left:before { + content: "\f060" +} + +.fa-arrow-right:before { + content: "\f061" +} + +.fa-arrow-up:before { + content: "\f062" +} + +.fa-arrow-down:before { + content: "\f063" +} + +.fa-mail-forward:before, +.fa-share:before { + content: "\f064" +} + +.fa-expand:before { + content: "\f065" +} + +.fa-compress:before { + content: "\f066" +} + +.fa-plus:before { + content: "\f067" +} + +.fa-minus:before { + content: "\f068" +} + +.fa-asterisk:before { + content: "\f069" +} + +.fa-exclamation-circle:before { + content: "\f06a" +} + +.fa-gift:before { + content: "\f06b" +} + +.fa-leaf:before { + content: "\f06c" +} + +.fa-fire:before { + content: "\f06d" +} + +.fa-eye:before { + content: "\f06e" +} + +.fa-eye-slash:before { + content: "\f070" +} + +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071" +} + +.fa-plane:before { + content: "\f072" +} + +.fa-calendar:before { + content: "\f073" +} + +.fa-random:before { + content: "\f074" +} + +.fa-comment:before { + content: "\f075" +} + +.fa-magnet:before { + content: "\f076" +} + +.fa-chevron-up:before { + content: "\f077" +} + +.fa-chevron-down:before { + content: "\f078" +} + +.fa-retweet:before { + content: "\f079" +} + +.fa-shopping-cart:before { + content: "\f07a" +} + +.fa-folder:before { + content: "\f07b" +} + +.fa-folder-open:before { + content: "\f07c" +} + +.fa-arrows-v:before { + content: "\f07d" +} + +.fa-arrows-h:before { + content: "\f07e" +} + +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080" +} + +.fa-twitter-square:before { + content: "\f081" +} + +.fa-facebook-square:before { + content: "\f082" +} + +.fa-camera-retro:before { + content: "\f083" +} + +.fa-key:before { + content: "\f084" +} + +.fa-gears:before, +.fa-cogs:before { + content: "\f085" +} + +.fa-comments:before { + content: "\f086" +} + +.fa-thumbs-o-up:before { + content: "\f087" +} + +.fa-thumbs-o-down:before { + content: "\f088" +} + +.fa-star-half:before { + content: "\f089" +} + +.fa-heart-o:before { + content: "\f08a" +} + +.fa-sign-out:before { + content: "\f08b" +} + +.fa-linkedin-square:before { + content: "\f08c" +} + +.fa-thumb-tack:before { + content: "\f08d" +} + +.fa-external-link:before { + content: "\f08e" +} + +.fa-sign-in:before { + content: "\f090" +} + +.fa-trophy:before { + content: "\f091" +} + +.fa-github-square:before { + content: "\f092" +} + +.fa-upload:before { + content: "\f093" +} + +.fa-lemon-o:before { + content: "\f094" +} + +.fa-phone:before { + content: "\f095" +} + +.fa-square-o:before { + content: "\f096" +} + +.fa-bookmark-o:before { + content: "\f097" +} + +.fa-phone-square:before { + content: "\f098" +} + +.fa-twitter:before { + content: "\f099" +} + +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a" +} + +.fa-github:before { + content: "\f09b" +} + +.fa-unlock:before { + content: "\f09c" +} + +.fa-credit-card:before { + content: "\f09d" +} + +.fa-feed:before, +.fa-rss:before { + content: "\f09e" +} + +.fa-hdd-o:before { + content: "\f0a0" +} + +.fa-bullhorn:before { + content: "\f0a1" +} + +.fa-bell:before { + content: "\f0f3" +} + +.fa-certificate:before { + content: "\f0a3" +} + +.fa-hand-o-right:before { + content: "\f0a4" +} + +.fa-hand-o-left:before { + content: "\f0a5" +} + +.fa-hand-o-up:before { + content: "\f0a6" +} + +.fa-hand-o-down:before { + content: "\f0a7" +} + +.fa-arrow-circle-left:before { + content: "\f0a8" +} + +.fa-arrow-circle-right:before { + content: "\f0a9" +} + +.fa-arrow-circle-up:before { + content: "\f0aa" +} + +.fa-arrow-circle-down:before { + content: "\f0ab" +} + +.fa-globe:before { + content: "\f0ac" +} + +.fa-wrench:before { + content: "\f0ad" +} + +.fa-tasks:before { + content: "\f0ae" +} + +.fa-filter:before { + content: "\f0b0" +} + +.fa-briefcase:before { + content: "\f0b1" +} + +.fa-arrows-alt:before { + content: "\f0b2" +} + +.fa-group:before, +.fa-users:before { + content: "\f0c0" +} + +.fa-chain:before, +.fa-link:before { + content: "\f0c1" +} + +.fa-cloud:before { + content: "\f0c2" +} + +.fa-flask:before { + content: "\f0c3" +} + +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4" +} + +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5" +} + +.fa-paperclip:before { + content: "\f0c6" +} + +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7" +} + +.fa-square:before { + content: "\f0c8" +} + +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9" +} + +.fa-list-ul:before { + content: "\f0ca" +} + +.fa-list-ol:before { + content: "\f0cb" +} + +.fa-strikethrough:before { + content: "\f0cc" +} + +.fa-underline:before { + content: "\f0cd" +} + +.fa-table:before { + content: "\f0ce" +} + +.fa-magic:before { + content: "\f0d0" +} + +.fa-truck:before { + content: "\f0d1" +} + +.fa-pinterest:before { + content: "\f0d2" +} + +.fa-pinterest-square:before { + content: "\f0d3" +} + +.fa-google-plus-square:before { + content: "\f0d4" +} + +.fa-google-plus:before { + content: "\f0d5" +} + +.fa-money:before { + content: "\f0d6" +} + +.fa-caret-down:before { + content: "\f0d7" +} + +.fa-caret-up:before { + content: "\f0d8" +} + +.fa-caret-left:before { + content: "\f0d9" +} + +.fa-caret-right:before { + content: "\f0da" +} + +.fa-columns:before { + content: "\f0db" +} + +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc" +} + +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd" +} + +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de" +} + +.fa-envelope:before { + content: "\f0e0" +} + +.fa-linkedin:before { + content: "\f0e1" +} + +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2" +} + +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3" +} + +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4" +} + +.fa-comment-o:before { + content: "\f0e5" +} + +.fa-comments-o:before { + content: "\f0e6" +} + +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7" +} + +.fa-sitemap:before { + content: "\f0e8" +} + +.fa-umbrella:before { + content: "\f0e9" +} + +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea" +} + +.fa-lightbulb-o:before { + content: "\f0eb" +} + +.fa-exchange:before { + content: "\f0ec" +} + +.fa-cloud-download:before { + content: "\f0ed" +} + +.fa-cloud-upload:before { + content: "\f0ee" +} + +.fa-user-md:before { + content: "\f0f0" +} + +.fa-stethoscope:before { + content: "\f0f1" +} + +.fa-suitcase:before { + content: "\f0f2" +} + +.fa-bell-o:before { + content: "\f0a2" +} + +.fa-coffee:before { + content: "\f0f4" +} + +.fa-cutlery:before { + content: "\f0f5" +} + +.fa-file-text-o:before { + content: "\f0f6" +} + +.fa-building-o:before { + content: "\f0f7" +} + +.fa-hospital-o:before { + content: "\f0f8" +} + +.fa-ambulance:before { + content: "\f0f9" +} + +.fa-medkit:before { + content: "\f0fa" +} + +.fa-fighter-jet:before { + content: "\f0fb" +} + +.fa-beer:before { + content: "\f0fc" +} + +.fa-h-square:before { + content: "\f0fd" +} + +.fa-plus-square:before { + content: "\f0fe" +} + +.fa-angle-double-left:before { + content: "\f100" +} + +.fa-angle-double-right:before { + content: "\f101" +} + +.fa-angle-double-up:before { + content: "\f102" +} + +.fa-angle-double-down:before { + content: "\f103" +} + +.fa-angle-left:before { + content: "\f104" +} + +.fa-angle-right:before { + content: "\f105" +} + +.fa-angle-up:before { + content: "\f106" +} + +.fa-angle-down:before { + content: "\f107" +} + +.fa-desktop:before { + content: "\f108" +} + +.fa-laptop:before { + content: "\f109" +} + +.fa-tablet:before { + content: "\f10a" +} + +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b" +} + +.fa-circle-o:before { + content: "\f10c" +} + +.fa-quote-left:before { + content: "\f10d" +} + +.fa-quote-right:before { + content: "\f10e" +} + +.fa-spinner:before { + content: "\f110" +} + +.fa-circle:before { + content: "\f111" +} + +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112" +} + +.fa-github-alt:before { + content: "\f113" +} + +.fa-folder-o:before { + content: "\f114" +} + +.fa-folder-open-o:before { + content: "\f115" +} + +.fa-smile-o:before { + content: "\f118" +} + +.fa-frown-o:before { + content: "\f119" +} + +.fa-meh-o:before { + content: "\f11a" +} + +.fa-gamepad:before { + content: "\f11b" +} + +.fa-keyboard-o:before { + content: "\f11c" +} + +.fa-flag-o:before { + content: "\f11d" +} + +.fa-flag-checkered:before { + content: "\f11e" +} + +.fa-terminal:before { + content: "\f120" +} + +.fa-code:before { + content: "\f121" +} + +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122" +} + +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123" +} + +.fa-location-arrow:before { + content: "\f124" +} + +.fa-crop:before { + content: "\f125" +} + +.fa-code-fork:before { + content: "\f126" +} + +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127" +} + +.fa-question:before { + content: "\f128" +} + +.fa-info:before { + content: "\f129" +} + +.fa-exclamation:before { + content: "\f12a" +} + +.fa-superscript:before { + content: "\f12b" +} + +.fa-subscript:before { + content: "\f12c" +} + +.fa-eraser:before { + content: "\f12d" +} + +.fa-puzzle-piece:before { + content: "\f12e" +} + +.fa-microphone:before { + content: "\f130" +} + +.fa-microphone-slash:before { + content: "\f131" +} + +.fa-shield:before { + content: "\f132" +} + +.fa-calendar-o:before { + content: "\f133" +} + +.fa-fire-extinguisher:before { + content: "\f134" +} + +.fa-rocket:before { + content: "\f135" +} + +.fa-maxcdn:before { + content: "\f136" +} + +.fa-chevron-circle-left:before { + content: "\f137" +} + +.fa-chevron-circle-right:before { + content: "\f138" +} + +.fa-chevron-circle-up:before { + content: "\f139" +} + +.fa-chevron-circle-down:before { + content: "\f13a" +} + +.fa-html5:before { + content: "\f13b" +} + +.fa-css3:before { + content: "\f13c" +} + +.fa-anchor:before { + content: "\f13d" +} + +.fa-unlock-alt:before { + content: "\f13e" +} + +.fa-bullseye:before { + content: "\f140" +} + +.fa-ellipsis-h:before { + content: "\f141" +} + +.fa-ellipsis-v:before { + content: "\f142" +} + +.fa-rss-square:before { + content: "\f143" +} + +.fa-play-circle:before { + content: "\f144" +} + +.fa-ticket:before { + content: "\f145" +} + +.fa-minus-square:before { + content: "\f146" +} + +.fa-minus-square-o:before { + content: "\f147" +} + +.fa-level-up:before { + content: "\f148" +} + +.fa-level-down:before { + content: "\f149" +} + +.fa-check-square:before { + content: "\f14a" +} + +.fa-pencil-square:before { + content: "\f14b" +} + +.fa-external-link-square:before { + content: "\f14c" +} + +.fa-share-square:before { + content: "\f14d" +} + +.fa-compass:before { + content: "\f14e" +} + +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150" +} + +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151" +} + +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152" +} + +.fa-euro:before, +.fa-eur:before { + content: "\f153" +} + +.fa-gbp:before { + content: "\f154" +} + +.fa-dollar:before, +.fa-usd:before { + content: "\f155" +} + +.fa-rupee:before, +.fa-inr:before { + content: "\f156" +} + +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157" +} + +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158" +} + +.fa-won:before, +.fa-krw:before { + content: "\f159" +} + +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a" +} + +.fa-file:before { + content: "\f15b" +} + +.fa-file-text:before { + content: "\f15c" +} + +.fa-sort-alpha-asc:before { + content: "\f15d" +} + +.fa-sort-alpha-desc:before { + content: "\f15e" +} + +.fa-sort-amount-asc:before { + content: "\f160" +} + +.fa-sort-amount-desc:before { + content: "\f161" +} + +.fa-sort-numeric-asc:before { + content: "\f162" +} + +.fa-sort-numeric-desc:before { + content: "\f163" +} + +.fa-thumbs-up:before { + content: "\f164" +} + +.fa-thumbs-down:before { + content: "\f165" +} + +.fa-youtube-square:before { + content: "\f166" +} + +.fa-youtube:before { + content: "\f167" +} + +.fa-xing:before { + content: "\f168" +} + +.fa-xing-square:before { + content: "\f169" +} + +.fa-youtube-play:before { + content: "\f16a" +} + +.fa-dropbox:before { + content: "\f16b" +} + +.fa-stack-overflow:before { + content: "\f16c" +} + +.fa-instagram:before { + content: "\f16d" +} + +.fa-flickr:before { + content: "\f16e" +} + +.fa-adn:before { + content: "\f170" +} + +.fa-bitbucket:before { + content: "\f171" +} + +.fa-bitbucket-square:before { + content: "\f172" +} + +.fa-tumblr:before { + content: "\f173" +} + +.fa-tumblr-square:before { + content: "\f174" +} + +.fa-long-arrow-down:before { + content: "\f175" +} + +.fa-long-arrow-up:before { + content: "\f176" +} + +.fa-long-arrow-left:before { + content: "\f177" +} + +.fa-long-arrow-right:before { + content: "\f178" +} + +.fa-apple:before { + content: "\f179" +} + +.fa-windows:before { + content: "\f17a" +} + +.fa-android:before { + content: "\f17b" +} + +.fa-linux:before { + content: "\f17c" +} + +.fa-dribbble:before { + content: "\f17d" +} + +.fa-skype:before { + content: "\f17e" +} + +.fa-foursquare:before { + content: "\f180" +} + +.fa-trello:before { + content: "\f181" +} + +.fa-female:before { + content: "\f182" +} + +.fa-male:before { + content: "\f183" +} + +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184" +} + +.fa-sun-o:before { + content: "\f185" +} + +.fa-moon-o:before { + content: "\f186" +} + +.fa-archive:before { + content: "\f187" +} + +.fa-bug:before { + content: "\f188" +} + +.fa-vk:before { + content: "\f189" +} + +.fa-weibo:before { + content: "\f18a" +} + +.fa-renren:before { + content: "\f18b" +} + +.fa-pagelines:before { + content: "\f18c" +} + +.fa-stack-exchange:before { + content: "\f18d" +} + +.fa-arrow-circle-o-right:before { + content: "\f18e" +} + +.fa-arrow-circle-o-left:before { + content: "\f190" +} + +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191" +} + +.fa-dot-circle-o:before { + content: "\f192" +} + +.fa-wheelchair:before { + content: "\f193" +} + +.fa-vimeo-square:before { + content: "\f194" +} + +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195" +} + +.fa-plus-square-o:before { + content: "\f196" +} + +.fa-space-shuttle:before { + content: "\f197" +} + +.fa-slack:before { + content: "\f198" +} + +.fa-envelope-square:before { + content: "\f199" +} + +.fa-wordpress:before { + content: "\f19a" +} + +.fa-openid:before { + content: "\f19b" +} + +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c" +} + +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d" +} + +.fa-yahoo:before { + content: "\f19e" +} + +.fa-google:before { + content: "\f1a0" +} + +.fa-reddit:before { + content: "\f1a1" +} + +.fa-reddit-square:before { + content: "\f1a2" +} + +.fa-stumbleupon-circle:before { + content: "\f1a3" +} + +.fa-stumbleupon:before { + content: "\f1a4" +} + +.fa-delicious:before { + content: "\f1a5" +} + +.fa-digg:before { + content: "\f1a6" +} + +.fa-pied-piper-pp:before { + content: "\f1a7" +} + +.fa-pied-piper-alt:before { + content: "\f1a8" +} + +.fa-drupal:before { + content: "\f1a9" +} + +.fa-joomla:before { + content: "\f1aa" +} + +.fa-language:before { + content: "\f1ab" +} + +.fa-fax:before { + content: "\f1ac" +} + +.fa-building:before { + content: "\f1ad" +} + +.fa-child:before { + content: "\f1ae" +} + +.fa-paw:before { + content: "\f1b0" +} + +.fa-spoon:before { + content: "\f1b1" +} + +.fa-cube:before { + content: "\f1b2" +} + +.fa-cubes:before { + content: "\f1b3" +} + +.fa-behance:before { + content: "\f1b4" +} + +.fa-behance-square:before { + content: "\f1b5" +} + +.fa-steam:before { + content: "\f1b6" +} + +.fa-steam-square:before { + content: "\f1b7" +} + +.fa-recycle:before { + content: "\f1b8" +} + +.fa-automobile:before, +.fa-car:before { + content: "\f1b9" +} + +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba" +} + +.fa-tree:before { + content: "\f1bb" +} + +.fa-spotify:before { + content: "\f1bc" +} + +.fa-deviantart:before { + content: "\f1bd" +} + +.fa-soundcloud:before { + content: "\f1be" +} + +.fa-database:before { + content: "\f1c0" +} + +.fa-file-pdf-o:before { + content: "\f1c1" +} + +.fa-file-word-o:before { + content: "\f1c2" +} + +.fa-file-excel-o:before { + content: "\f1c3" +} + +.fa-file-powerpoint-o:before { + content: "\f1c4" +} + +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5" +} + +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6" +} + +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7" +} + +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8" +} + +.fa-file-code-o:before { + content: "\f1c9" +} + +.fa-vine:before { + content: "\f1ca" +} + +.fa-codepen:before { + content: "\f1cb" +} + +.fa-jsfiddle:before { + content: "\f1cc" +} + +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd" +} + +.fa-circle-o-notch:before { + content: "\f1ce" +} + +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0" +} + +.fa-ge:before, +.fa-empire:before { + content: "\f1d1" +} + +.fa-git-square:before { + content: "\f1d2" +} + +.fa-git:before { + content: "\f1d3" +} + +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4" +} + +.fa-tencent-weibo:before { + content: "\f1d5" +} + +.fa-qq:before { + content: "\f1d6" +} + +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7" +} + +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8" +} + +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9" +} + +.fa-history:before { + content: "\f1da" +} + +.fa-circle-thin:before { + content: "\f1db" +} + +.fa-header:before { + content: "\f1dc" +} + +.fa-paragraph:before { + content: "\f1dd" +} + +.fa-sliders:before { + content: "\f1de" +} + +.fa-share-alt:before { + content: "\f1e0" +} + +.fa-share-alt-square:before { + content: "\f1e1" +} + +.fa-bomb:before { + content: "\f1e2" +} + +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3" +} + +.fa-tty:before { + content: "\f1e4" +} + +.fa-binoculars:before { + content: "\f1e5" +} + +.fa-plug:before { + content: "\f1e6" +} + +.fa-slideshare:before { + content: "\f1e7" +} + +.fa-twitch:before { + content: "\f1e8" +} + +.fa-yelp:before { + content: "\f1e9" +} + +.fa-newspaper-o:before { + content: "\f1ea" +} + +.fa-wifi:before { + content: "\f1eb" +} + +.fa-calculator:before { + content: "\f1ec" +} + +.fa-paypal:before { + content: "\f1ed" +} + +.fa-google-wallet:before { + content: "\f1ee" +} + +.fa-cc-visa:before { + content: "\f1f0" +} + +.fa-cc-mastercard:before { + content: "\f1f1" +} + +.fa-cc-discover:before { + content: "\f1f2" +} + +.fa-cc-amex:before { + content: "\f1f3" +} + +.fa-cc-paypal:before { + content: "\f1f4" +} + +.fa-cc-stripe:before { + content: "\f1f5" +} + +.fa-bell-slash:before { + content: "\f1f6" +} + +.fa-bell-slash-o:before { + content: "\f1f7" +} + +.fa-trash:before { + content: "\f1f8" +} + +.fa-copyright:before { + content: "\f1f9" +} + +.fa-at:before { + content: "\f1fa" +} + +.fa-eyedropper:before { + content: "\f1fb" +} + +.fa-paint-brush:before { + content: "\f1fc" +} + +.fa-birthday-cake:before { + content: "\f1fd" +} + +.fa-area-chart:before { + content: "\f1fe" +} + +.fa-pie-chart:before { + content: "\f200" +} + +.fa-line-chart:before { + content: "\f201" +} + +.fa-lastfm:before { + content: "\f202" +} + +.fa-lastfm-square:before { + content: "\f203" +} + +.fa-toggle-off:before { + content: "\f204" +} + +.fa-toggle-on:before { + content: "\f205" +} + +.fa-bicycle:before { + content: "\f206" +} + +.fa-bus:before { + content: "\f207" +} + +.fa-ioxhost:before { + content: "\f208" +} + +.fa-angellist:before { + content: "\f209" +} + +.fa-cc:before { + content: "\f20a" +} + +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b" +} + +.fa-meanpath:before { + content: "\f20c" +} + +.fa-buysellads:before { + content: "\f20d" +} + +.fa-connectdevelop:before { + content: "\f20e" +} + +.fa-dashcube:before { + content: "\f210" +} + +.fa-forumbee:before { + content: "\f211" +} + +.fa-leanpub:before { + content: "\f212" +} + +.fa-sellsy:before { + content: "\f213" +} + +.fa-shirtsinbulk:before { + content: "\f214" +} + +.fa-simplybuilt:before { + content: "\f215" +} + +.fa-skyatlas:before { + content: "\f216" +} + +.fa-cart-plus:before { + content: "\f217" +} + +.fa-cart-arrow-down:before { + content: "\f218" +} + +.fa-diamond:before { + content: "\f219" +} + +.fa-ship:before { + content: "\f21a" +} + +.fa-user-secret:before { + content: "\f21b" +} + +.fa-motorcycle:before { + content: "\f21c" +} + +.fa-street-view:before { + content: "\f21d" +} + +.fa-heartbeat:before { + content: "\f21e" +} + +.fa-venus:before { + content: "\f221" +} + +.fa-mars:before { + content: "\f222" +} + +.fa-mercury:before { + content: "\f223" +} + +.fa-intersex:before, +.fa-transgender:before { + content: "\f224" +} + +.fa-transgender-alt:before { + content: "\f225" +} + +.fa-venus-double:before { + content: "\f226" +} + +.fa-mars-double:before { + content: "\f227" +} + +.fa-venus-mars:before { + content: "\f228" +} + +.fa-mars-stroke:before { + content: "\f229" +} + +.fa-mars-stroke-v:before { + content: "\f22a" +} + +.fa-mars-stroke-h:before { + content: "\f22b" +} + +.fa-neuter:before { + content: "\f22c" +} + +.fa-genderless:before { + content: "\f22d" +} + +.fa-facebook-official:before { + content: "\f230" +} + +.fa-pinterest-p:before { + content: "\f231" +} + +.fa-whatsapp:before { + content: "\f232" +} + +.fa-server:before { + content: "\f233" +} + +.fa-user-plus:before { + content: "\f234" +} + +.fa-user-times:before { + content: "\f235" +} + +.fa-hotel:before, +.fa-bed:before { + content: "\f236" +} + +.fa-viacoin:before { + content: "\f237" +} + +.fa-train:before { + content: "\f238" +} + +.fa-subway:before { + content: "\f239" +} + +.fa-medium:before { + content: "\f23a" +} + +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b" +} + +.fa-optin-monster:before { + content: "\f23c" +} + +.fa-opencart:before { + content: "\f23d" +} + +.fa-expeditedssl:before { + content: "\f23e" +} + +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240" +} + +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241" +} + +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242" +} + +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243" +} + +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244" +} + +.fa-mouse-pointer:before { + content: "\f245" +} + +.fa-i-cursor:before { + content: "\f246" +} + +.fa-object-group:before { + content: "\f247" +} + +.fa-object-ungroup:before { + content: "\f248" +} + +.fa-sticky-note:before { + content: "\f249" +} + +.fa-sticky-note-o:before { + content: "\f24a" +} + +.fa-cc-jcb:before { + content: "\f24b" +} + +.fa-cc-diners-club:before { + content: "\f24c" +} + +.fa-clone:before { + content: "\f24d" +} + +.fa-balance-scale:before { + content: "\f24e" +} + +.fa-hourglass-o:before { + content: "\f250" +} + +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251" +} + +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252" +} + +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253" +} + +.fa-hourglass:before { + content: "\f254" +} + +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255" +} + +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256" +} + +.fa-hand-scissors-o:before { + content: "\f257" +} + +.fa-hand-lizard-o:before { + content: "\f258" +} + +.fa-hand-spock-o:before { + content: "\f259" +} + +.fa-hand-pointer-o:before { + content: "\f25a" +} + +.fa-hand-peace-o:before { + content: "\f25b" +} + +.fa-trademark:before { + content: "\f25c" +} + +.fa-registered:before { + content: "\f25d" +} + +.fa-creative-commons:before { + content: "\f25e" +} + +.fa-gg:before { + content: "\f260" +} + +.fa-gg-circle:before { + content: "\f261" +} + +.fa-tripadvisor:before { + content: "\f262" +} + +.fa-odnoklassniki:before { + content: "\f263" +} + +.fa-odnoklassniki-square:before { + content: "\f264" +} + +.fa-get-pocket:before { + content: "\f265" +} + +.fa-wikipedia-w:before { + content: "\f266" +} + +.fa-safari:before { + content: "\f267" +} + +.fa-chrome:before { + content: "\f268" +} + +.fa-firefox:before { + content: "\f269" +} + +.fa-opera:before { + content: "\f26a" +} + +.fa-internet-explorer:before { + content: "\f26b" +} + +.fa-tv:before, +.fa-television:before { + content: "\f26c" +} + +.fa-contao:before { + content: "\f26d" +} + +.fa-500px:before { + content: "\f26e" +} + +.fa-amazon:before { + content: "\f270" +} + +.fa-calendar-plus-o:before { + content: "\f271" +} + +.fa-calendar-minus-o:before { + content: "\f272" +} + +.fa-calendar-times-o:before { + content: "\f273" +} + +.fa-calendar-check-o:before { + content: "\f274" +} + +.fa-industry:before { + content: "\f275" +} + +.fa-map-pin:before { + content: "\f276" +} + +.fa-map-signs:before { + content: "\f277" +} + +.fa-map-o:before { + content: "\f278" +} + +.fa-map:before { + content: "\f279" +} + +.fa-commenting:before { + content: "\f27a" +} + +.fa-commenting-o:before { + content: "\f27b" +} + +.fa-houzz:before { + content: "\f27c" +} + +.fa-vimeo:before { + content: "\f27d" +} + +.fa-black-tie:before { + content: "\f27e" +} + +.fa-fonticons:before { + content: "\f280" +} + +.fa-reddit-alien:before { + content: "\f281" +} + +.fa-edge:before { + content: "\f282" +} + +.fa-credit-card-alt:before { + content: "\f283" +} + +.fa-codiepie:before { + content: "\f284" +} + +.fa-modx:before { + content: "\f285" +} + +.fa-fort-awesome:before { + content: "\f286" +} + +.fa-usb:before { + content: "\f287" +} + +.fa-product-hunt:before { + content: "\f288" +} + +.fa-mixcloud:before { + content: "\f289" +} + +.fa-scribd:before { + content: "\f28a" +} + +.fa-pause-circle:before { + content: "\f28b" +} + +.fa-pause-circle-o:before { + content: "\f28c" +} + +.fa-stop-circle:before { + content: "\f28d" +} + +.fa-stop-circle-o:before { + content: "\f28e" +} + +.fa-shopping-bag:before { + content: "\f290" +} + +.fa-shopping-basket:before { + content: "\f291" +} + +.fa-hashtag:before { + content: "\f292" +} + +.fa-bluetooth:before { + content: "\f293" +} + +.fa-bluetooth-b:before { + content: "\f294" +} + +.fa-percent:before { + content: "\f295" +} + +.fa-gitlab:before { + content: "\f296" +} + +.fa-wpbeginner:before { + content: "\f297" +} + +.fa-wpforms:before { + content: "\f298" +} + +.fa-envira:before { + content: "\f299" +} + +.fa-universal-access:before { + content: "\f29a" +} + +.fa-wheelchair-alt:before { + content: "\f29b" +} + +.fa-question-circle-o:before { + content: "\f29c" +} + +.fa-blind:before { + content: "\f29d" +} + +.fa-audio-description:before { + content: "\f29e" +} + +.fa-volume-control-phone:before { + content: "\f2a0" +} + +.fa-braille:before { + content: "\f2a1" +} + +.fa-assistive-listening-systems:before { + content: "\f2a2" +} + +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3" +} + +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4" +} + +.fa-glide:before { + content: "\f2a5" +} + +.fa-glide-g:before { + content: "\f2a6" +} + +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7" +} + +.fa-low-vision:before { + content: "\f2a8" +} + +.fa-viadeo:before { + content: "\f2a9" +} + +.fa-viadeo-square:before { + content: "\f2aa" +} + +.fa-snapchat:before { + content: "\f2ab" +} + +.fa-snapchat-ghost:before { + content: "\f2ac" +} + +.fa-snapchat-square:before { + content: "\f2ad" +} + +.fa-pied-piper:before { + content: "\f2ae" +} + +.fa-first-order:before { + content: "\f2b0" +} + +.fa-yoast:before { + content: "\f2b1" +} + +.fa-themeisle:before { + content: "\f2b2" +} + +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3" +} + +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4" +} + +.fa-handshake-o:before { + content: "\f2b5" +} + +.fa-envelope-open:before { + content: "\f2b6" +} + +.fa-envelope-open-o:before { + content: "\f2b7" +} + +.fa-linode:before { + content: "\f2b8" +} + +.fa-address-book:before { + content: "\f2b9" +} + +.fa-address-book-o:before { + content: "\f2ba" +} + +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb" +} + +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc" +} + +.fa-user-circle:before { + content: "\f2bd" +} + +.fa-user-circle-o:before { + content: "\f2be" +} + +.fa-user-o:before { + content: "\f2c0" +} + +.fa-id-badge:before { + content: "\f2c1" +} + +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2" +} + +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3" +} + +.fa-quora:before { + content: "\f2c4" +} + +.fa-free-code-camp:before { + content: "\f2c5" +} + +.fa-telegram:before { + content: "\f2c6" +} + +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7" +} + +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8" +} + +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9" +} + +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca" +} + +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb" +} + +.fa-shower:before { + content: "\f2cc" +} + +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd" +} + +.fa-podcast:before { + content: "\f2ce" +} + +.fa-window-maximize:before { + content: "\f2d0" +} + +.fa-window-minimize:before { + content: "\f2d1" +} + +.fa-window-restore:before { + content: "\f2d2" +} + +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3" +} + +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4" +} + +.fa-bandcamp:before { + content: "\f2d5" +} + +.fa-grav:before { + content: "\f2d6" +} + +.fa-etsy:before { + content: "\f2d7" +} + +.fa-imdb:before { + content: "\f2d8" +} + +.fa-ravelry:before { + content: "\f2d9" +} + +.fa-eercast:before { + content: "\f2da" +} + +.fa-microchip:before { + content: "\f2db" +} + +.fa-snowflake-o:before { + content: "\f2dc" +} + +.fa-superpowers:before { + content: "\f2dd" +} + +.fa-wpexplorer:before { + content: "\f2de" +} + +.fa-meetup:before { + content: "\f2e0" +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0 +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/fonts/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/fonts/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/fonts/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/fonts/fontawesome-webfont.woff2 b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/fonts/fontawesome-webfont.woff2 differ diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/js/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/js/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/js/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/assets/js/main.js b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/js/main.js new file mode 100644 index 0000000000000000000000000000000000000000..1b5ed575ac95aa7dd6c3674ad5611d50d095a312 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/assets/js/main.js @@ -0,0 +1,2609 @@ +! function t(e, n, i) { + function r(s, a) { + if (!n[s]) { + if (!e[s]) { + var u = "function" == typeof require && require; + if (!a && u) return u(s, !0); + if (o) return o(s, !0); + var c = new Error("Cannot find module '" + s + "'"); + throw c.code = "MODULE_NOT_FOUND", c + } + var l = n[s] = { + exports: {} + }; + e[s][0].call(l.exports, function(t) { + var n = e[s][1][t]; + return r(n || t) + }, l, l.exports, t, e, n, i) + } + return n[s].exports + } + for (var o = "function" == typeof require && require, s = 0; s < i.length; s++) r(i[s]); + return r +}({ + 1: [function(t, e, n) { + "use strict"; + var i = t("domready"), + r = t("./menu"), + o = t("./offcanvas"), + s = (t("./totop"), t("./utils/dollar-extras")), + a = {}; + i(function() { + a = { + offcanvas: new o, + menu: new r, + $: s, + ready: i + }, e.exports = window.G5 = a + }), e.exports = window.G5 = a + }, { + "./menu": 2, + "./offcanvas": 3, + "./totop": 4, + "./utils/dollar-extras": 6, + domready: 7 + }], + 2: [function(t, e, n) { + (function(n) { + "use strict"; + t("domready"); + var i = t("prime"), + r = t("../utils/dollar-extras"), + o = t("elements/zen"), + s = t("mout/function/bind"), + a = (t("mout/function/timeout"), t("prime-util/prime/bound")), + u = t("prime-util/prime/options"), + c = "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch, + l = new i({ + mixin: [a, u], + options: { + selectors: { + mainContainer: ".g-main-nav", + mobileContainer: "#g-mobilemenu-container", + topLevel: ".g-toplevel", + rootItems: "> ul > li", + parent: ".g-parent", + item: ".g-menu-item", + dropdown: ".g-dropdown", + overlay: ".g-menu-overlay", + touchIndicator: ".g-menu-parent-indicator", + linkedParent: "[data-g-menuparent]", + mobileTarget: "[data-g-mobile-target]" + }, + states: { + active: "g-active", + inactive: "g-inactive", + selected: "g-selected", + touchEvents: "g-menu-hastouch" + } + }, + constructor: function(t) { + this.setOptions(t), this.selectors = this.options.selectors, this.states = this.options.states, this.overlay = o("div" + this.selectors.overlay).top("#g-page-surround"), this.active = null, this.location = []; + var e = r(this.selectors.mainContainer); + if (e) { + var n = e.data("g-hover-expand"); + this.hoverExpand = null === n || "true" === n, !c && this.hoverExpand || e.addClass(this.states.touchEvents), this.attach() + } + }, + attach: function() { + var t = this.selectors, + e = r(t.mainContainer + " " + t.item), + n = r(t.mobileContainer), + i = r("body"); + if (e) { + if (this.hoverExpand && (e.on("mouseenter", this.bound("mouseenter")), e.on("mouseleave", this.bound("mouseleave"))), i.delegate("click", ":not(" + t.mainContainer + ") " + t.linkedParent + ", .g-fullwidth .g-sublevel " + t.linkedParent, this.bound("click")), i.delegate("click", ":not(" + t.mainContainer + ") a[href]", this.bound("resetAfterClick")), c || !this.hoverExpand) { + var o = r(t.linkedParent); + o && (o.on("touchmove", this.bound("touchmove")), o.on("touchend", this.bound("touchend"))), this.overlay.on("touchend", this.bound("closeAllDropdowns")) + } + if (n) { + var s = "only all and (max-width: " + this._calculateBreakpoint(n.data("g-menu-breakpoint") || "48rem") + ")", + a = matchMedia(s); + a.addListener(this.bound("_checkQuery")), this._checkQuery(a) + } + } + }, + detach: function() {}, + click: function(t) { + this.touchend(t) + }, + resetAfterClick: function(t) { + if (null !== r(t.target).data("g-menuparent")) return !0; + this.closeDropdown(t), n.G5 && n.G5.offcanvas && G5.offcanvas.close() + }, + mouseenter: function(t) { + var e = r(t.target); + e.parent(this.options.selectors.mainContainer) && (e.parent(this.options.selectors.item) && !e.parent(".g-standard") || this.openDropdown(e)) + }, + mouseleave: function(t) { + var e = r(t.target); + e.parent(this.options.selectors.mainContainer) && (e.parent(this.options.selectors.item) && !e.parent(".g-standard") || this.closeDropdown(e)) + }, + touchmove: function(t) { + r(t.target).isMoving = !0 + }, + touchend: function(t) { + var e, n, i = this.selectors, + o = this.states, + a = r(t.target), + u = a.parent(i.item).find(i.touchIndicator), + c = a.parent(".g-standard") ? "standard" : "megamenu", + l = a.parent(".g-go-back"); + if (a.isMoving) return a.isMoving = !1, !1; + if (a.off("touchmove", this.bound("touchmove")), a.isMoving = !1, u && (a = u), e = a.matches(i.item) ? a : a.parent(i.item), n = e.hasClass(o.selected), !e.find(i.dropdown) && !u) return !0; + if (t.stopPropagation(), u && !a.matches(i.touchIndicator) || t.preventDefault(), !n) { + var f = e.siblings(); + f && (f.search(i.touchIndicator + " !> * !> " + i.item + "." + o.selected) || []).forEach(s(function(t) { + this.closeDropdown(t) + }, this)) + } + if (("megamenu" == c || !e.parent(i.mainContainer)) && (e.find(" > " + i.dropdown + ", > * > " + i.dropdown) || l)) { + var h, d = a.parent(".g-sublevel") || a.parent(".g-toplevel"), + p = e.find(".g-sublevel"), + m = e.parent(".g-dropdown-column"); + if (d) { + var v = a.parent(i.mainContainer); + (!v || v && !d.matches(".g-toplevel")) && this._fixHeights(d, p, l, v), !v && m && (h = m.search("> .g-grid > .g-block")) && h.length > 1 && (d = h.search("> .g-sublevel")), d[n ? "removeClass" : "addClass"]("g-slide-out") + } + } + this[n ? "closeDropdown" : "openDropdown"](e), "click" !== t.type && this.toggleOverlay(a.parent(i.mainContainer)) + }, + openDropdown: function(t) { + var e = (t = r(t.target || t)).find(this.selectors.dropdown); + t.addClass(this.states.selected), e && e.removeClass(this.states.inactive).addClass(this.states.active) + }, + closeDropdown: function(t) { + var e = (t = r(t.target || t)).find(this.selectors.dropdown); + if (t.removeClass(this.states.selected), e) { + var n = e.search(".g-sublevel"), + i = e.search(".g-slide-out, ." + this.states.selected), + o = e.search("." + this.states.active); + n && n.attribute("style", null), i && i.removeClass("g-slide-out").removeClass(this.states.selected), o && o.removeClass(this.states.active).addClass(this.states.inactive), e.removeClass(this.states.active).addClass(this.states.inactive) + } + }, + closeAllDropdowns: function() { + var t = this.selectors, + e = this.states, + n = r(t.mainContainer + " > .g-toplevel"), + i = n.search(" >" + t.item); + if (i && i.removeClass(e.selected), n) { + var o = n.search("> " + this.options.selectors.item); + o && o.forEach(this.closeDropdown.bind(this)), this.closeDropdown(n) + } + this.toggleOverlay(n) + }, + resetStates: function(t) { + if (t) { + var e = t.search(".g-toplevel, .g-dropdown-column, .g-dropdown, .g-selected, .g-active, .g-slide-out"), + n = t.search(".g-active"); + e && (t.attribute("style", null).removeClass("g-selected").removeClass("g-slide-out"), e.attribute("style", null).removeClass("g-selected").removeClass("g-slide-out"), n && n.removeClass("g-active").addClass("g-inactive")) + } + }, + toggleOverlay: function(t) { + if (t) { + var e = !!t.find(".g-active, .g-selected"); + this.overlay[e ? "addClass" : "removeClass"]("g-menu-overlay-open"), this.overlay[0].style.opacity = e ? 1 : 0 + } + }, + _fixHeights: function(t, e, n, i) { + if (t != e) { + n && t.attribute("style", null); + var o = { + from: t[0].getBoundingClientRect(), + to: (i ? e[0] : e.parent(".g-dropdown")[0]).getBoundingClientRect() + }, + s = Math.max(o.from.height, o.to.height); + if (n && (t.parents('[style^="height"]') || []).forEach(function(t) { + (t = r(t)).parent(".g-toplevel") && (t[0].style.height = o.from.height + "px") + }), !n && (o.from.height < o.to.height ? (t[0].style.height = s + "px", (t.parents('[style^="height"]') || []).forEach(function(t) { + (t = r(t)).parent(".g-toplevel") && (t[0].style.height = s + "px") + })) : i && (e[0].style.height = s + "px"), !i)) { + var a = s, + u = r(e).parent(".g-block:not(.size-100)"), + c = u ? u.parent(".g-dropdown-column") : null; + if ((e.parents(".g-slide-out, .g-dropdown-column") || t).forEach(function(t) { + a = Math.max(s, parseInt(t.style.height || 0, 10)) + }), c) { + c[0].style.height = a + "px"; + var l = c.search("> .g-grid > .g-block"), + f = a; + l.forEach(function(t, e) { + e + 1 != l.length ? f -= t.getBoundingClientRect().height : r(t).find(".g-sublevel")[0].style.height = f + "px" + }) + } else e[0].style.height = a + "px" + } + } + }, + _calculateBreakpoint: function(t) { + var e = parseFloat(t.match(/^\d{1,}/).shift()), + n = t.match(/[a-z]{1,}$/i).shift(); + return e + (n.match(/r?em/) ? -.062 : -1) + n + }, + _checkQuery: function(t) { + var e, n, i = this.options.selectors, + o = r(i.mobileContainer), + s = r(i.mainContainer + i.mobileTarget) || r(i.mainContainer); + t.matches ? (e = s.find(i.topLevel)) && (s.parent(".g-block").addClass("hidden"), o.parent(".g-block").removeClass("hidden"), e.top(o)) : (e = o.find(i.topLevel)) && (o.parent(".g-block").addClass("hidden"), s.parent(".g-block").removeClass("hidden"), e.top(s)), this.resetStates(e), !t.matches && e && (n = e.search("[data-g-item-width]")) && n.forEach(function(t) { + (t = r(t))[0].style.width = t.data("g-item-width") + }) + }, + _debug: function() {} + }); + e.exports = l + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) + }, { + "../utils/dollar-extras": 6, + domready: 7, + "elements/zen": 36, + "mout/function/bind": 40, + "mout/function/timeout": 44, + prime: 85, + "prime-util/prime/bound": 81, + "prime-util/prime/options": 82 + }], + 3: [function(t, e, n) { + "use strict"; + t("domready"); + var i, r = t("prime"), + o = t("mout/function/bind"), + s = t("mout/array/forEach"), + a = t("mout/math/map"), + u = t("mout/math/clamp"), + c = t("mout/function/timeout"), + l = t("mout/string/trim"), + f = t("../utils/decouple"), + h = t("prime-util/prime/bound"), + d = t("prime-util/prime/options"), + p = t("elements"), + m = t("elements/zen"), + v = function() { + var t = window.getComputedStyle(document.documentElement, ""), + e = (Array.prototype.slice.call(t).join("").match(/-(moz|webkit|ms)-/) || "" === t.OLink && ["", "o"])[1]; + return { + dom: "WebKit|Moz|MS|O".match(new RegExp("(" + e + ")", "i"))[1], + lowercase: e, + css: "-" + e + "-", + js: e[0].toUpperCase() + e.substr(1) + } + }(), + g = "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch, + y = !1, + b = new r({ + mixin: [h, d], + options: { + effect: "ease", + duration: 300, + tolerance: function(t) { + return t / 3 + }, + padding: 0, + touch: !0, + css3: !0, + openClass: "g-offcanvas-open", + openingClass: "g-offcanvas-opening", + closingClass: "g-offcanvas-closing", + overlayClass: "g-nav-overlay" + }, + constructor: function(t) { + if (this.setOptions(t), this.attached = !1, this.opening = !1, this.moved = !1, this.dragging = !1, this.opened = !1, this.preventOpen = !1, this.offset = { + x: { + start: 0, + current: 0 + }, + y: { + start: 0, + current: 0 + } + }, this.bodyEl = p("body"), this.htmlEl = p("html"), this.panel = p("#g-page-surround"), this.offcanvas = p("#g-offcanvas"), !this.panel || !this.offcanvas) return !1; + var e = this.offcanvas.data("g-offcanvas-swipe"), + n = this.offcanvas.data("g-offcanvas-css3"); + if (this.setOptions({ + touch: !!(null !== e ? parseInt(e) : 1), + css3: !!(null !== n ? parseInt(n) : 1) + }), !this.options.padding) { + this.offcanvas[0].style.display = "block"; + var i = this.offcanvas[0].getBoundingClientRect().width; + this.offcanvas[0].style.removeProperty("display"), this.setOptions({ + padding: i + }) + } + return this.tolerance = "function" == typeof this.options.tolerance ? this.options.tolerance.call(this, this.options.padding) : this.options.tolerance, this.htmlEl.addClass("g-offcanvas-" + (this.options.css3 ? "css3" : "css2")), this.attach(), this._checkTogglers(), this + }, + attach: function() { + return this.attached = !0, this.options.touch && g && this.attachTouchEvents(), s(["toggle", "open", "close"], o(function(t) { + this.bodyEl.delegate("click", "[data-offcanvas-" + t + "]", this.bound(t)), g && this.bodyEl.delegate("touchend", "[data-offcanvas-" + t + "]", this.bound(t)) + }, this)), this.attachMutationEvent(), this.overlay = m("div[data-offcanvas-close]." + this.options.overlayClass).top(this.panel), this + }, + attachMutationEvent: function() { + this.offcanvas.on("DOMSubtreeModified", this.bound("_checkTogglers")) + }, + attachTouchEvents: function() { + var t = window.navigator.msPointerEnabled, + e = { + start: t ? "MSPointerDown" : "touchstart", + move: t ? "MSPointerMove" : "touchmove", + end: t ? "MSPointerUp" : "touchend" + }; + this._scrollBound = f(window, "scroll", this.bound("_bodyScroll")), this.bodyEl.on(e.move, this.bound("_bodyMove")), this.panel.on(e.start, this.bound("_touchStart")), this.panel.on("touchcancel", this.bound("_touchCancel")), this.panel.on(e.end, this.bound("_touchEnd")), this.panel.on(e.move, this.bound("_touchMove")) + }, + detach: function() { + return this.attached = !1, this.options.touch && g && this.detachTouchEvents(), s(["toggle", "open", "close"], o(function(t) { + this.bodyEl.undelegate("click", "[data-offcanvas-" + t + "]", this.bound(t)), g && this.bodyEl.undelegate("touchend", "[data-offcanvas-" + t + "]", this.bound(t)) + }, this)), this.detachMutationEvent(), this.overlay.remove(), this + }, + detachMutationEvent: function() { + this.offcanvas.off("DOMSubtreeModified", this.bound("_checkTogglers")) + }, + detachTouchEvents: function() { + var t = window.navigator.msPointerEnabled, + e = { + start: t ? "MSPointerDown" : "touchstart", + move: t ? "MSPointerMove" : "touchmove", + end: t ? "MSPointerUp" : "touchend" + }; + window.removeEventListener("scroll", this._scrollBound), this.bodyEl.off(e.move, this.bound("_bodyMove")), this.panel.off(e.start, this.bound("_touchStart")), this.panel.off("touchcancel", this.bound("_touchCancel")), this.panel.off(e.end, this.bound("_touchEnd")), this.panel.off(e.move, this.bound("_touchMove")) + }, + open: function(t) { + return t && t.type.match(/^touch/i) ? t.preventDefault() : this.dragging = !1, this.opened ? this : (this.htmlEl.addClass(this.options.openClass), this.htmlEl.addClass(this.options.openingClass), this.overlay[0].style.opacity = 1, this.options.css3 && (this.panel[0].style[this.getOffcanvasPosition()] = "inherit"), this._setTransition(), this._translateXTo((this.bodyEl.hasClass("g-offcanvas-right") ? -1 : 1) * this.options.padding), this.opened = !0, setTimeout(o(function() { + var t = this.panel[0]; + this.htmlEl.removeClass(this.options.openingClass), this.offcanvas.attribute("aria-expanded", !0), p("[data-offcanvas-toggle]").attribute("aria-expanded", !0), t.style.transition = t.style[v.css + "transition"] = "" + }, this), this.options.duration), this) + }, + close: function(t, e) { + return t && t.type.match(/^touch/i) ? t.preventDefault() : this.dragging = !1, e = e || window, this.opened || this.opening ? (this.panel === e || !this.dragging) && (this.htmlEl.addClass(this.options.closingClass), this.overlay[0].style.opacity = 0, this._setTransition(), this._translateXTo(0), this.opened = !1, this.offcanvas.attribute("aria-expanded", !1), p("[data-offcanvas-toggle]").attribute("aria-expanded", !1), setTimeout(o(function() { + var t = this.panel[0]; + this.htmlEl.removeClass(this.options.openClass), this.htmlEl.removeClass(this.options.closingClass), t.style.transition = t.style[v.css + "transition"] = "", t.style.transform = t.style[v.css + "transform"] = "", t.style[this.getOffcanvasPosition()] = "" + }, this), this.options.duration), this) : this + }, + toggle: function(t, e) { + return t && t.type.match(/^touch/i) ? t.preventDefault() : this.dragging = !1, this[this.opened ? "close" : "open"](t, e) + }, + getOffcanvasPosition: function() { + return this.bodyEl.hasClass("g-offcanvas-right") ? "right" : "left" + }, + _setTransition: function() { + var t = this.panel[0]; + this.options.css3 ? t.style[v.css + "transition"] = t.style.transition = v.css + "transform " + this.options.duration + "ms " + this.options.effect : t.style[v.css + "transition"] = t.style.transition = "left " + this.options.duration + "ms " + this.options.effect + ", right " + this.options.duration + "ms " + this.options.effect + }, + _translateXTo: function(t) { + var e = this.panel[0], + n = this.getOffcanvasPosition(); + this.offset.x.current = t, this.options.css3 ? e.style[v.css + "transform"] = e.style.transform = "translate3d(" + t + "px, 0, 0)" : e.style[n] = Math.abs(t) + "px" + }, + _bodyScroll: function() { + this.moved || (clearTimeout(i), y = !0, i = setTimeout(function() { + y = !1 + }, 250)) + }, + _bodyMove: function() { + return this.moved && event.preventDefault(), this.dragging = !0, !1 + }, + _touchStart: function(t) { + t.touches && (this.moved = !1, this.opening = !1, this.dragging = !1, this.offset.x.start = t.touches[0].pageX, this.offset.y.start = t.touches[0].pageY, this.preventOpen = !this.opened && 0 !== this.offcanvas[0].clientWidth) + }, + _touchCancel: function() { + this.moved = !1, this.opening = !1 + }, + _touchMove: function(t) { + if (!y && !this.preventOpen && t.touches) { + this.options.css3 && (this.panel[0].style[this.getOffcanvasPosition()] = "inherit"); + var e, n = this.getOffcanvasPosition(), + i = u(t.touches[0].clientX - this.offset.x.start, -this.options.padding, this.options.padding), + r = this.offset.x.current = i, + o = Math.abs(t.touches[0].pageY - this.offset.y.start), + s = "right" == n ? -1 : 1; + if (!(Math.abs(r) > this.options.padding) && (!(o > 5) || this.moved) && Math.abs(i) > 0) { + if (this.opening = !0, "left" == n && (this.opened && i > 0 || !this.opened && i < 0)) return; + if ("right" == n && (this.opened && i < 0 || !this.opened && i > 0)) return; + this.moved || this.htmlEl.hasClass(this.options.openClass) || this.htmlEl.addClass(this.options.openClass), ("left" == n && i <= 0 || "right" == n && i >= 0) && (r = i + s * this.options.padding, this.opening = !1), e = a(Math.abs(r), 0, this.options.padding, 0, 1), this.overlay[0].style.opacity = e, this.options.css3 ? this.panel[0].style[v.css + "transform"] = this.panel[0].style.transform = "translate3d(" + r + "px, 0, 0)" : this.panel[0].style[n] = Math.abs(r) + "px", this.moved = !0 + } + } + }, + _touchEnd: function(t) { + if (this.moved) { + var e = Math.abs(this.offset.x.current) > this.tolerance, + n = !!this.bodyEl.hasClass("g-offcanvas-right") ? this.offset.x.current > 0 : this.offset.x.current < 0; + this.opening = e ? !n : n, this.opened = !this.opening, this[this.opening ? "open" : "close"](t, this.panel) + } + return this.moved = !1, !0 + }, + _checkTogglers: function(t) { + var e, n, i = p("[data-offcanvas-toggle], [data-offcanvas-open], [data-offcanvas-close]"), + r = p("#g-mobilemenu-container"); + !i || t && (t.target || t.srcElement) !== r[0] || (this.opened && this.close(), c(function() { + e = this.offcanvas.search(".g-block"), n = r ? r.text().length : 0; + var t = e && 1 === e.length && r && !l(this.offcanvas.text()).length && !e.find(".g-menu-item"); + i[t ? "addClass" : "removeClass"]("g-offcanvas-hide"), r && r.parent(".g-block")[n ? "removeClass" : "addClass"]("hidden"), t || this.attached ? t && this.attached && (this.detach(), this.attachMutationEvent()) : this.attach() + }, 0, this)) + } + }); + e.exports = b + }, { + "../utils/decouple": 5, + domready: 7, + elements: 12, + "elements/zen": 36, + "mout/array/forEach": 37, + "mout/function/bind": 40, + "mout/function/timeout": 44, + "mout/math/clamp": 49, + "mout/math/map": 51, + "mout/string/trim": 60, + prime: 85, + "prime-util/prime/bound": 81, + "prime-util/prime/options": 82 + }], + 4: [function(t, e, n) { + "use strict"; + var i, r = t("domready"), + o = t("../utils/dollar-extras"), + s = function() { + 0 != document.body.scrollTop || 0 != document.documentElement.scrollTop ? (window.scrollBy(0, -50), i = setTimeout(s, 10)) : clearTimeout(i) + }; + r(function() { + var t = o("#g-totop"); + t && t.on("click", function(t) { + t.preventDefault(), s() + }) + }), e.exports = {} + }, { + "../utils/dollar-extras": 6, + domready: 7 + }], + 5: [function(t, e, n) { + "use strict"; + var i = window.requestAnimationFrame || window.webkitRequestAnimationFrame || function(t) { + window.setTimeout(t, 1e3 / 60) + }; + e.exports = function(t, e, n) { + var r, o = !1; + t = t[0] || t; + var s = function(t) { + r = t, a() + }, + a = function() { + o || (i(u), o = !0) + }, + u = function() { + n.call(t, r), o = !1 + }; + try { + t.addEventListener(e, s, !1) + } catch (t) {} + return s + } + }, {}], + 6: [function(t, e, n) { + "use strict"; + var i = t("elements"), + r = t("mout/array/map"), + o = t("slick"), + s = function(t, e) { + return function(n) { + var i = o.parse(n || "*"); + return n = r(i, function(e) { + return t + " " + e + }).join(", "), this[e](n) + } + }; + i.implement({ + sibling: s("++", "find"), + siblings: s("~~", "search") + }), e.exports = i + }, { + elements: 12, + "mout/array/map": 38, + slick: 97 + }], + 7: [function(t, e, n) { + ! function(t, n) { + void 0 !== e ? e.exports = n() : "function" == typeof define && "object" == typeof define.amd ? define(n) : this.domready = n() + }(0, function() { + var t, e = [], + n = document, + i = (n.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(n.readyState); + return i || n.addEventListener("DOMContentLoaded", t = function() { + for (n.removeEventListener("DOMContentLoaded", t), i = 1; t = e.shift();) t() + }), + function(t) { + i ? setTimeout(t, 0) : e.push(t) + } + }) + }, {}], + 8: [function(t, e, n) { + "use strict"; + var i = t("./base"), + r = t("mout/string/trim"), + o = t("mout/array/forEach"), + s = t("mout/array/filter"), + a = t("mout/array/indexOf"); + i.implement({ + setAttribute: function(t, e) { + return this.forEach(function(n) { + n.setAttribute(t, e) + }) + }, + getAttribute: function(t) { + var e = this[0].getAttributeNode(t); + return e && e.specified ? e.value : null + }, + hasAttribute: function(t) { + var e = this[0]; + if (e.hasAttribute) return e.hasAttribute(t); + var n = e.getAttributeNode(t); + return !(!n || !n.specified) + }, + removeAttribute: function(t) { + return this.forEach(function(e) { + var n = e.getAttributeNode(t); + n && e.removeAttributeNode(n) + }) + } + }); + var u = {}; + o(["type", "value", "name", "href", "title", "id"], function(t) { + u[t] = function(e) { + return void 0 !== e ? this.forEach(function(n) { + n[t] = e + }) : this[0][t] + } + }), o(["checked", "disabled", "selected"], function(t) { + u[t] = function(e) { + return void 0 !== e ? this.forEach(function(n) { + n[t] = !!e + }) : !!this[0][t] + } + }); + var c = function(t) { + var e = r(t).replace(/\s+/g, " ").split(" "), + n = {}; + return s(e, function(t) { + if ("" !== t && !n[t]) return n[t] = t + }).sort() + }; + u.className = function(t) { + return void 0 !== t ? this.forEach(function(e) { + e.className = c(t).join(" ") + }) : c(this[0].className).join(" ") + }, i.implement({ + attribute: function(t, e) { + var n = u[t]; + return n ? n.call(this, e) : null != e ? this.setAttribute(t, e) : null === e ? this.removeAttribute(t) : void 0 === e ? this.getAttribute(t) : void 0 + } + }), i.implement(u), i.implement({ + check: function() { + return this.checked(!0) + }, + uncheck: function() { + return this.checked(!1) + }, + disable: function() { + return this.disabled(!0) + }, + enable: function() { + return this.disabled(!1) + }, + select: function() { + return this.selected(!0) + }, + deselect: function() { + return this.selected(!1) + } + }), i.implement({ + classNames: function() { + return c(this[0].className) + }, + hasClass: function(t) { + return a(this.classNames(), t) > -1 + }, + addClass: function(t) { + return this.forEach(function(e) { + var n = e.className, + i = c(n + " " + t).join(" "); + n !== i && (e.className = i) + }) + }, + removeClass: function(t) { + return this.forEach(function(e) { + var n = c(e.className); + o(c(t), function(t) { + var e = a(n, t); + e > -1 && n.splice(e, 1) + }), e.className = n.join(" ") + }) + }, + toggleClass: function(t, e) { + var n = void 0 !== e ? e : !this.hasClass(t); + return n ? this.addClass(t) : this.removeClass(t), !!n + } + }), i.prototype.toString = function() { + var t = this.tag(), + e = this.id(), + n = this.classNames(), + i = t; + return e && (i += "#" + e), n.length && (i += "." + n.join(".")), i + }; + var l = null == document.createElement("div").textContent ? "innerText" : "textContent"; + i.implement({ + tag: function() { + return this[0].tagName.toLowerCase() + }, + html: function(t) { + return void 0 !== t ? this.forEach(function(e) { + e.innerHTML = t + }) : this[0].innerHTML + }, + text: function(t) { + return void 0 !== t ? this.forEach(function(e) { + e[l] = t + }) : this[0][l] + }, + data: function(t, e) { + switch (e) { + case void 0: + return this.getAttribute("data-" + t); + case null: + return this.removeAttribute("data-" + t); + default: + return this.setAttribute("data-" + t, e) + } + } + }), e.exports = i + }, { + "./base": 9, + "mout/array/filter": 15, + "mout/array/forEach": 16, + "mout/array/indexOf": 17, + "mout/string/trim": 34 + }], + 9: [function(t, e, n) { + "use strict"; + var i = t("prime"), + r = t("mout/array/forEach"), + o = t("mout/array/map"), + s = t("mout/array/filter"), + a = t("mout/array/every"), + u = t("mout/array/some"), + c = 0, + l = document.__counter, + f = "uid:" + (document.__counter = (l ? parseInt(l, 36) + 1 : 0).toString(36)), + h = function(t) { + return t === window ? "window" : t === document ? "document" : t === document.documentElement ? "html" : t[f] || (t[f] = (c++).toString(36)) + }, + d = {}, + p = i({ + constructor: function t(e, n) { + if (null == e) return this && this.constructor === t ? new m : null; + var i, r; + if (e.constructor !== m) { + if (i = new m, "string" == typeof e) return i.search ? (i[i.length++] = n || document, i.search(e)) : null; + if (e.nodeType || e === window) i[i.length++] = e; + else if (e.length) + for (var o = {}, s = 0, a = e.length; s < a; s++) { + var u = t(e[s], n); + if (u && u.length) + for (var c = 0, l = u.length; c < l; c++) { + var f = u[c]; + o[r = h(f)] || (i[i.length++] = f, o[r] = !0) + } + } + } else i = e; + return i.length ? 1 === i.length ? (r = h(i[0]), d[r] || (d[r] = i)) : i : null + } + }), + m = i({ + inherits: p, + constructor: function() { + this.length = 0 + }, + unlink: function() { + return this.map(function(t) { + return delete d[h(t)], t + }) + }, + forEach: function(t, e) { + return r(this, t, e), this + }, + map: function(t, e) { + return o(this, t, e) + }, + filter: function(t, e) { + return s(this, t, e) + }, + every: function(t, e) { + return a(this, t, e) + }, + some: function(t, e) { + return u(this, t, e) + } + }); + e.exports = p + }, { + "mout/array/every": 14, + "mout/array/filter": 15, + "mout/array/forEach": 16, + "mout/array/map": 18, + "mout/array/some": 19, + prime: 85 + }], + 10: [function(t, e, n) { + "use strict"; + var i = t("prime/map"), + r = t("./events"); + t("./traversal"), r.implement({ + delegate: function(t, e, n, o) { + return this.forEach(function(s) { + var a = r(s), + u = a._delegation || (a._delegation = {}), + c = u[t] || (u[t] = {}), + l = c[e] || (c[e] = new i); + if (!l.get(n)) { + var f = function(t) { + var i, o = r(t.target || t.srcElement), + s = o.matches(e) ? o : o.parent(e); + return s && (i = n.call(a, t, s)), i + }; + l.set(n, f), a.on(t, f, o) + } + }) + }, + undelegate: function(t, e, n, i) { + return this.forEach(function(o) { + var s, a, u, c = r(o); + if ((s = c._delegation) && (a = s[t]) && (u = a[e])) { + var l = u.get(n); + if (l) { + c.off(t, l, i), u.remove(l), u.count() || delete a[e]; + var f, h = !0, + d = !0; + for (f in a) { + h = !1; + break + } + h && delete s[t]; + for (f in s) { + d = !1; + break + } + d && delete c._delegation + } + } + }) + } + }), e.exports = r + }, { + "./events": 11, + "./traversal": 35, + "prime/map": 86 + }], + 11: [function(t, e, n) { + "use strict"; + var i = t("prime/emitter"), + r = t("./base"), + o = document.documentElement, + s = o.addEventListener ? function(t, e, n, i) { + return t.addEventListener(e, n, i || !1), n + } : function(t, e, n) { + return t.attachEvent("on" + e, n), n + }, + a = o.removeEventListener ? function(t, e, n, i) { + t.removeEventListener(e, n, i || !1) + } : function(t, e, n) { + t.detachEvent("on" + e, n) + }; + r.implement({ + on: function(t, e, n) { + return this.forEach(function(o) { + var a = r(o), + u = t + (n ? ":capture" : ""); + i.prototype.on.call(a, u, e); + var c = a._domListeners || (a._domListeners = {}); + c[u] || (c[u] = s(o, t, function(t) { + i.prototype.emit.call(a, u, t || window.event, i.EMIT_SYNC) + }, n)) + }) + }, + off: function(t, e, n) { + return this.forEach(function(o) { + var s, u = r(o), + c = t + (n ? ":capture" : ""), + l = u._domListeners, + f = u._listeners; + if (l && (s = l[c]) && f && f[c] && (i.prototype.off.call(u, c, e), !u._listeners || !u._listeners[t])) { + a(o, t, s), delete l[t]; + for (var h in l) return; + delete u._domListeners + } + }) + }, + emit: function() { + var t = arguments; + return this.forEach(function(e) { + i.prototype.emit.apply(r(e), t) + }) + } + }), e.exports = r + }, { + "./base": 9, + "prime/emitter": 84 + }], + 12: [function(t, e, n) { + "use strict"; + var i = t("./base"); + t("./attributes"), t("./events"), t("./insertion"), t("./traversal"), t("./delegation"), e.exports = i + }, { + "./attributes": 8, + "./base": 9, + "./delegation": 10, + "./events": 11, + "./insertion": 13, + "./traversal": 35 + }], + 13: [function(t, e, n) { + "use strict"; + var i = t("./base"); + i.implement({ + appendChild: function(t) { + return this[0].appendChild(i(t)[0]), this + }, + insertBefore: function(t, e) { + return this[0].insertBefore(i(t)[0], i(e)[0]), this + }, + removeChild: function(t) { + return this[0].removeChild(i(t)[0]), this + }, + replaceChild: function(t, e) { + return this[0].replaceChild(i(t)[0], i(e)[0]), this + } + }), i.implement({ + before: function(t) { + var e = (t = i(t)[0]).parentNode; + return e && this.forEach(function(n) { + e.insertBefore(n, t) + }), this + }, + after: function(t) { + var e = (t = i(t)[0]).parentNode; + return e && this.forEach(function(n) { + e.insertBefore(n, t.nextSibling) + }), this + }, + bottom: function(t) { + return t = i(t)[0], this.forEach(function(e) { + t.appendChild(e) + }) + }, + top: function(t) { + return t = i(t)[0], this.forEach(function(e) { + t.insertBefore(e, t.firstChild) + }) + } + }), i.implement({ + insert: i.prototype.bottom, + remove: function() { + return this.forEach(function(t) { + var e = t.parentNode; + e && e.removeChild(t) + }) + }, + replace: function(t) { + return (t = i(t)[0]).parentNode.replaceChild(this[0], t), this + } + }), e.exports = i + }, { + "./base": 9 + }], + 14: [function(t, e, n) { + var i = t("../function/makeIterator_"); + e.exports = function(t, e, n) { + e = i(e, n); + var r = !0; + if (null == t) return r; + for (var o = -1, s = t.length; ++o < s;) + if (!e(t[o], o, t)) { + r = !1; + break + } + return r + } + }, { + "../function/makeIterator_": 21 + }], + 15: [function(t, e, n) { + var i = t("../function/makeIterator_"); + e.exports = function(t, e, n) { + e = i(e, n); + var r = []; + if (null == t) return r; + for (var o, s = -1, a = t.length; ++s < a;) e(o = t[s], s, t) && r.push(o); + return r + } + }, { + "../function/makeIterator_": 21 + }], + 16: [function(t, e, n) { + e.exports = function(t, e, n) { + if (null != t) + for (var i = -1, r = t.length; ++i < r && !1 !== e.call(n, t[i], i, t);); + } + }, {}], + 17: [function(t, e, n) { + e.exports = function(t, e, n) { + if (n = n || 0, null == t) return -1; + for (var i = t.length, r = n < 0 ? i + n : n; r < i;) { + if (t[r] === e) return r; + r++ + } + return -1 + } + }, {}], + 18: [function(t, e, n) { + var i = t("../function/makeIterator_"); + e.exports = function(t, e, n) { + e = i(e, n); + var r = []; + if (null == t) return r; + for (var o = -1, s = t.length; ++o < s;) r[o] = e(t[o], o, t); + return r + } + }, { + "../function/makeIterator_": 21 + }], + 19: [function(t, e, n) { + var i = t("../function/makeIterator_"); + e.exports = function(t, e, n) { + e = i(e, n); + var r = !1; + if (null == t) return r; + for (var o = -1, s = t.length; ++o < s;) + if (e(t[o], o, t)) { + r = !0; + break + } + return r + } + }, { + "../function/makeIterator_": 21 + }], + 20: [function(t, e, n) { + e.exports = function(t) { + return t + } + }, {}], + 21: [function(t, e, n) { + var i = t("./identity"), + r = t("./prop"), + o = t("../object/deepMatches"); + e.exports = function(t, e) { + if (null == t) return i; + switch (typeof t) { + case "function": + return void 0 !== e ? function(n, i, r) { + return t.call(e, n, i, r) + } : t; + case "object": + return function(e) { + return o(e, t) + }; + case "string": + case "number": + return r(t) + } + } + }, { + "../object/deepMatches": 27, + "./identity": 20, + "./prop": 22 + }], + 22: [function(t, e, n) { + e.exports = function(t) { + return function(e) { + return e[t] + } + } + }, {}], + 23: [function(t, e, n) { + var i = t("./isKind"), + r = Array.isArray || function(t) { + return i(t, "Array") + }; + e.exports = r + }, { + "./isKind": 24 + }], + 24: [function(t, e, n) { + var i = t("./kindOf"); + e.exports = function(t, e) { + return i(t) === e + } + }, { + "./kindOf": 25 + }], + 25: [function(t, e, n) { + var i, r = /^\[object (.*)\]$/, + o = Object.prototype.toString; + e.exports = function(t) { + return null === t ? "Null" : t === i ? "Undefined" : r.exec(o.call(t))[1] + } + }, {}], + 26: [function(t, e, n) { + e.exports = function(t) { + return null == t ? "" : t.toString() + } + }, {}], + 27: [function(t, e, n) { + function i(t, e) { + for (var n = -1, i = t.length; ++n < i;) + if (s(t[n], e)) return !0; + return !1 + } + + function r(t, e) { + for (var n = -1, r = e.length; ++n < r;) + if (!i(t, e[n])) return !1; + return !0 + } + + function o(t, e) { + var n = !0; + return a(e, function(e, i) { + if (!s(t[i], e)) return n = !1 + }), n + } + + function s(t, e) { + return t && "object" == typeof t ? u(t) && u(e) ? r(t, e) : o(t, e) : t === e + } + var a = t("./forOwn"), + u = t("../lang/isArray"); + e.exports = s + }, { + "../lang/isArray": 23, + "./forOwn": 29 + }], + 28: [function(t, e, n) { + function i() { + s = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"], o = !0; + for (var t in { + toString: null + }) o = !1 + } + + function r(t, e, n, i) { + return t.call(i, e[n], n, e) + } + var o, s, a = t("./hasOwn"); + e.exports = function(t, e, n) { + var u, c = 0; + null == o && i(); + for (u in t) + if (!1 === r(e, t, u, n)) break; + if (o) + for (var l = t.constructor, f = !!l && t === l.prototype; + (u = s[c++]) && ("constructor" === u && (f || !a(t, u)) || t[u] === Object.prototype[u] || !1 !== r(e, t, u, n));); + } + }, { + "./hasOwn": 30 + }], + 29: [function(t, e, n) { + var i = t("./hasOwn"), + r = t("./forIn"); + e.exports = function(t, e, n) { + r(t, function(r, o) { + if (i(t, o)) return e.call(n, t[o], o, t) + }) + } + }, { + "./forIn": 28, + "./hasOwn": 30 + }], + 30: [function(t, e, n) { + e.exports = function(t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + } + }, {}], + 31: [function(t, e, n) { + e.exports = [" ", "\n", "\r", "\t", "\f", "\v", " ", " ", "á Ž", " ", "â€", " ", " ", " ", " ", " ", " ", " ", " ", " ", "\u2028", "\u2029", " ", "âŸ", " "] + }, {}], + 32: [function(t, e, n) { + var i = t("../lang/toString"), + r = t("./WHITE_SPACES"); + e.exports = function(t, e) { + t = i(t), e = e || r; + for (var n, o, s = 0, a = t.length, u = e.length, c = !0; c && s < a;) + for (c = !1, n = -1, o = t.charAt(s); ++n < u;) + if (o === e[n]) { + c = !0, s++; + break + } + return s >= a ? "" : t.substr(s, a) + } + }, { + "../lang/toString": 26, + "./WHITE_SPACES": 31 + }], + 33: [function(t, e, n) { + var i = t("../lang/toString"), + r = t("./WHITE_SPACES"); + e.exports = function(t, e) { + t = i(t), e = e || r; + for (var n, o, s = t.length - 1, a = e.length, u = !0; u && s >= 0;) + for (u = !1, n = -1, o = t.charAt(s); ++n < a;) + if (o === e[n]) { + u = !0, s--; + break + } + return s >= 0 ? t.substring(0, s + 1) : "" + } + }, { + "../lang/toString": 26, + "./WHITE_SPACES": 31 + }], + 34: [function(t, e, n) { + var i = t("../lang/toString"), + r = t("./WHITE_SPACES"), + o = t("./ltrim"), + s = t("./rtrim"); + e.exports = function(t, e) { + return t = i(t), e = e || r, o(s(t, e), e) + } + }, { + "../lang/toString": 26, + "./WHITE_SPACES": 31, + "./ltrim": 32, + "./rtrim": 33 + }], + 35: [function(t, e, n) { + "use strict"; + var i = t("mout/array/map"), + r = t("slick"), + o = t("./base"), + s = function(t, e) { + return i(r.parse(e || "*"), function(e) { + return t + " " + e + }).join(", ") + }, + a = Array.prototype.push; + o.implement({ + search: function(t) { + if (1 === this.length) return o(r.search(t, this[0], new o)); + for (var e, n = [], i = 0; e = this[i]; i++) a.apply(n, r.search(t, e)); + return (n = o(n)) && n.sort() + }, + find: function(t) { + if (1 === this.length) return o(r.find(t, this[0])); + for (var e, n = 0; e = this[n]; n++) { + var i = r.find(t, e); + if (i) return o(i) + } + return null + }, + sort: function() { + return r.sort(this) + }, + matches: function(t) { + return r.matches(this[0], t) + }, + contains: function(t) { + return r.contains(this[0], t) + }, + nextSiblings: function(t) { + return this.search(s("~", t)) + }, + nextSibling: function(t) { + return this.find(s("+", t)) + }, + previousSiblings: function(t) { + return this.search(s("!~", t)) + }, + previousSibling: function(t) { + return this.find(s("!+", t)) + }, + children: function(t) { + return this.search(s(">", t)) + }, + firstChild: function(t) { + return this.find(s("^", t)) + }, + lastChild: function(t) { + return this.find(s("!^", t)) + }, + parent: function(t) { + var e = []; + t: for (var n, i = 0; n = this[i]; i++) + for (; + (n = n.parentNode) && n !== document;) + if (!t || r.matches(n, t)) { + e.push(n); + break t + } + return o(e) + }, + parents: function(t) { + for (var e, n = [], i = 0; e = this[i]; i++) + for (; + (e = e.parentNode) && e !== document;) t && !r.matches(e, t) || n.push(e); + return o(n) + } + }), e.exports = o + }, { + "./base": 9, + "mout/array/map": 18, + slick: 97 + }], + 36: [function(t, e, n) { + "use strict"; + var i = t("mout/array/forEach"), + r = t("mout/array/map"), + o = t("slick/parser"), + s = t("./base"); + e.exports = function(t, e) { + return s(r(o(t), function(t) { + var n, r; + return i(t, function(t, o) { + var a = (e || document).createElement(t.tag); + if (t.id && (a.id = t.id), t.classList && (a.className = t.classList.join(" ")), t.attributes && i(t.attributes, function(t) { + a.setAttribute(t.name, t.value || "") + }), t.pseudos && i(t.pseudos, function(t) { + var e = s(a), + n = e[t.name]; + n && n.call(e, t.value) + }), 0 === o) r = a; + else if (" " === t.combinator) n.appendChild(a); + else if ("+" === t.combinator) { + var u = n.parentNode; + u && u.appendChild(a) + } + n = a + }), r + })) + } + }, { + "./base": 9, + "mout/array/forEach": 16, + "mout/array/map": 18, + "slick/parser": 98 + }], + 37: [function(t, e, n) { + arguments[4][16][0].apply(n, arguments) + }, { + dup: 16 + }], + 38: [function(t, e, n) { + arguments[4][18][0].apply(n, arguments) + }, { + "../function/makeIterator_": 42, + dup: 18 + }], + 39: [function(t, e, n) { + e.exports = function(t, e, n) { + var i = t.length; + e = null == e ? 0 : e < 0 ? Math.max(i + e, 0) : Math.min(e, i), n = null == n ? i : n < 0 ? Math.max(i + n, 0) : Math.min(n, i); + for (var r = []; e < n;) r.push(t[e++]); + return r + } + }, {}], + 40: [function(t, e, n) { + var i = t("../array/slice"); + e.exports = function(t, e, n) { + var r = i(arguments, 2); + return function() { + return t.apply(e, r.concat(i(arguments))) + } + } + }, { + "../array/slice": 39 + }], + 41: [function(t, e, n) { + arguments[4][20][0].apply(n, arguments) + }, { + dup: 20 + }], + 42: [function(t, e, n) { + arguments[4][21][0].apply(n, arguments) + }, { + "../object/deepMatches": 53, + "./identity": 41, + "./prop": 43, + dup: 21 + }], + 43: [function(t, e, n) { + arguments[4][22][0].apply(n, arguments) + }, { + dup: 22 + }], + 44: [function(t, e, n) { + var i = t("../array/slice"); + e.exports = function(t, e, n) { + var r = i(arguments, 3); + return setTimeout(function() { + t.apply(n, r) + }, e) + } + }, { + "../array/slice": 39 + }], + 45: [function(t, e, n) { + arguments[4][23][0].apply(n, arguments) + }, { + "./isKind": 46, + dup: 23 + }], + 46: [function(t, e, n) { + arguments[4][24][0].apply(n, arguments) + }, { + "./kindOf": 47, + dup: 24 + }], + 47: [function(t, e, n) { + arguments[4][25][0].apply(n, arguments) + }, { + dup: 25 + }], + 48: [function(t, e, n) { + arguments[4][26][0].apply(n, arguments) + }, { + dup: 26 + }], + 49: [function(t, e, n) { + e.exports = function(t, e, n) { + return t < e ? e : t > n ? n : t + } + }, {}], + 50: [function(t, e, n) { + e.exports = function(t, e, n) { + return e + (n - e) * t + } + }, {}], + 51: [function(t, e, n) { + var i = t("./lerp"), + r = t("./norm"); + e.exports = function(t, e, n, o, s) { + return i(r(t, e, n), o, s) + } + }, { + "./lerp": 50, + "./norm": 52 + }], + 52: [function(t, e, n) { + e.exports = function(t, e, n) { + if (t < e || t > n) throw new RangeError("value (" + t + ") must be between " + e + " and " + n); + return t === n ? 1 : (t - e) / (n - e) + } + }, {}], + 53: [function(t, e, n) { + function i(t, e) { + for (var n = -1, i = t.length; ++n < i;) + if (s(t[n], e)) return !0; + return !1 + } + + function r(t, e) { + for (var n = -1, r = e.length; ++n < r;) + if (!i(t, e[n])) return !1; + return !0 + } + + function o(t, e) { + var n = !0; + return a(e, function(e, i) { + if (!s(t[i], e)) return n = !1 + }), n + } + + function s(t, e) { + return t && "object" == typeof t && e && "object" == typeof e ? u(t) && u(e) ? r(t, e) : o(t, e) : t === e + } + var a = t("./forOwn"), + u = t("../lang/isArray"); + e.exports = s + }, { + "../lang/isArray": 45, + "./forOwn": 55 + }], + 54: [function(t, e, n) { + arguments[4][28][0].apply(n, arguments) + }, { + "./hasOwn": 56, + dup: 28 + }], + 55: [function(t, e, n) { + arguments[4][29][0].apply(n, arguments) + }, { + "./forIn": 54, + "./hasOwn": 56, + dup: 29 + }], + 56: [function(t, e, n) { + arguments[4][30][0].apply(n, arguments) + }, { + dup: 30 + }], + 57: [function(t, e, n) { + arguments[4][31][0].apply(n, arguments) + }, { + dup: 31 + }], + 58: [function(t, e, n) { + arguments[4][32][0].apply(n, arguments) + }, { + "../lang/toString": 48, + "./WHITE_SPACES": 57, + dup: 32 + }], + 59: [function(t, e, n) { + arguments[4][33][0].apply(n, arguments) + }, { + "../lang/toString": 48, + "./WHITE_SPACES": 57, + dup: 33 + }], + 60: [function(t, e, n) { + arguments[4][34][0].apply(n, arguments) + }, { + "../lang/toString": 48, + "./WHITE_SPACES": 57, + "./ltrim": 58, + "./rtrim": 59, + dup: 34 + }], + 61: [function(t, e, n) { + arguments[4][39][0].apply(n, arguments) + }, { + dup: 39 + }], + 62: [function(t, e, n) { + arguments[4][40][0].apply(n, arguments) + }, { + "../array/slice": 61, + dup: 40 + }], + 63: [function(t, e, n) { + function i(t) { + return u(t) ? c({}, t) : t + } + + function r(t) { + var e = ""; + return e += t.multiline ? "m" : "", e += t.global ? "g" : "", e += t.ignorecase ? "i" : "", new RegExp(t.source, e) + } + + function o(t) { + return new Date(+t) + } + + function s(t) { + return t.slice() + } + var a = t("./kindOf"), + u = t("./isPlainObject"), + c = t("../object/mixIn"); + e.exports = function(t) { + switch (a(t)) { + case "Object": + return i(t); + case "Array": + return s(t); + case "RegExp": + return r(t); + case "Date": + return o(t); + default: + return t + } + } + }, { + "../object/mixIn": 73, + "./isPlainObject": 67, + "./kindOf": 68 + }], + 64: [function(t, e, n) { + function i(t, e) { + switch (u(t)) { + case "Object": + return r(t, e); + case "Array": + return o(t, e); + default: + return s(t) + } + } + + function r(t, e) { + if (c(t)) { + var n = {}; + return a(t, function(t, n) { + this[n] = i(t, e) + }, n), n + } + return e ? e(t) : t + } + + function o(t, e) { + for (var n = [], r = -1, o = t.length; ++r < o;) n[r] = i(t[r], e); + return n + } + var s = t("./clone"), + a = t("../object/forOwn"), + u = t("./kindOf"), + c = t("./isPlainObject"); + e.exports = i + }, { + "../object/forOwn": 70, + "./clone": 63, + "./isPlainObject": 67, + "./kindOf": 68 + }], + 65: [function(t, e, n) { + arguments[4][24][0].apply(n, arguments) + }, { + "./kindOf": 68, + dup: 24 + }], + 66: [function(t, e, n) { + var i = t("./isKind"); + e.exports = function(t) { + return i(t, "Object") + } + }, { + "./isKind": 65 + }], + 67: [function(t, e, n) { + e.exports = function(t) { + return !!t && "object" == typeof t && t.constructor === Object + } + }, {}], + 68: [function(t, e, n) { + arguments[4][25][0].apply(n, arguments) + }, { + dup: 25 + }], + 69: [function(t, e, n) { + arguments[4][28][0].apply(n, arguments) + }, { + "./hasOwn": 71, + dup: 28 + }], + 70: [function(t, e, n) { + arguments[4][29][0].apply(n, arguments) + }, { + "./forIn": 69, + "./hasOwn": 71, + dup: 29 + }], + 71: [function(t, e, n) { + arguments[4][30][0].apply(n, arguments) + }, { + dup: 30 + }], + 72: [function(t, e, n) { + function i() { + var t, e, n, a, u = 1; + for (a = o(arguments[0]); n = arguments[u++];) + for (t in n) r(n, t) && (e = n[t], s(e) && s(a[t]) ? a[t] = i(a[t], e) : a[t] = o(e)); + return a + } + var r = t("./hasOwn"), + o = t("../lang/deepClone"), + s = t("../lang/isObject"); + e.exports = i + }, { + "../lang/deepClone": 64, + "../lang/isObject": 66, + "./hasOwn": 71 + }], + 73: [function(t, e, n) { + function i(t, e) { + this[e] = t + } + var r = t("./forOwn"); + e.exports = function(t, e) { + for (var n, o = 0, s = arguments.length; ++o < s;) null != (n = arguments[o]) && r(n, i, t); + return t + } + }, { + "./forOwn": 70 + }], + 74: [function(t, e, n) { + "use strict"; + var i = t("mout/object/hasOwn"), + r = t("mout/object/mixIn"), + o = t("mout/lang/createObject"), + s = t("mout/lang/kindOf"), + a = !0; + try { + Object.defineProperty({}, "~", {}), Object.getOwnPropertyDescriptor({}, "~") + } catch (t) { + a = !1 + } + var u = !{ + valueOf: 0 + }.propertyIsEnumerable("valueOf"), + c = ["toString", "valueOf"], + l = /^constructor|inherits|mixin$/, + f = function(t) { + var e = this.prototype; + for (var n in t) + if (!n.match(l)) { + if (a) { + var i = Object.getOwnPropertyDescriptor(t, n); + if (i) { + Object.defineProperty(e, n, i); + continue + } + } + e[n] = t[n] + } + if (u) + for (var r = 0; n = c[r]; r++) { + var o = t[n]; + o !== Object.prototype[n] && (e[n] = o) + } + return this + }; + e.exports = function(t) { + "Function" === s(t) && (t = { + constructor: t + }); + var e = t.inherits, + n = i(t, "constructor") ? t.constructor : e ? function() { + return e.apply(this, arguments) + } : function() {}; + if (e) { + r(n, e); + var a = e.prototype, + u = n.prototype = o(a); + n.parent = a, u.constructor = n + } + n.implement || (n.implement = f); + var c = t.mixin; + if (c) { + "Array" !== s(c) && (c = [c]); + for (var l = 0; l < c.length; l++) n.implement(o(c[l].prototype)) + } + return n.implement(t) + } + }, { + "mout/lang/createObject": 75, + "mout/lang/kindOf": 76, + "mout/object/hasOwn": 79, + "mout/object/mixIn": 80 + }], + 75: [function(t, e, n) { + var i = t("../object/mixIn"); + e.exports = function(t, e) { + function n() {} + return n.prototype = t, i(new n, e) + } + }, { + "../object/mixIn": 80 + }], + 76: [function(t, e, n) { + arguments[4][25][0].apply(n, arguments) + }, { + dup: 25 + }], + 77: [function(t, e, n) { + arguments[4][28][0].apply(n, arguments) + }, { + "./hasOwn": 79, + dup: 28 + }], + 78: [function(t, e, n) { + arguments[4][29][0].apply(n, arguments) + }, { + "./forIn": 77, + "./hasOwn": 79, + dup: 29 + }], + 79: [function(t, e, n) { + arguments[4][30][0].apply(n, arguments) + }, { + dup: 30 + }], + 80: [function(t, e, n) { + arguments[4][73][0].apply(n, arguments) + }, { + "./forOwn": 78, + dup: 73 + }], + 81: [function(t, e, n) { + "use strict"; + var i = t("prime"), + r = t("mout/function/bind"), + o = i({ + bound: function(t) { + var e = this._bound || (this._bound = {}); + return e[t] || (e[t] = r(this[t], this)) + } + }); + e.exports = o + }, { + "mout/function/bind": 62, + prime: 74 + }], + 82: [function(t, e, n) { + "use strict"; + var i = t("prime"), + r = t("mout/object/merge"), + o = i({ + setOptions: function(t) { + var e = [{}, this.options]; + return e.push.apply(e, arguments), this.options = r.apply(null, e), this + } + }); + e.exports = o + }, { + "mout/object/merge": 72, + prime: 74 + }], + 83: [function(t, e, n) { + (function(n, i) { + "use strict"; + var r = t("mout/lang/kindOf"), + o = t("mout/time/now"), + s = t("mout/array/forEach"), + a = t("mout/array/indexOf"), + u = { + timeout: {}, + frame: [], + immediate: [] + }, + c = function(t, e, n, i) { + t.length || i(function() { + l(t) + }); + var r = { + callback: e, + context: n + }; + return t.push(r), + function() { + var e = a(t, r); + e > -1 && t.splice(e, 1) + } + }, + l = function(t) { + var e = o(); + s(t.splice(0), function(t) { + t.callback.call(t.context, e) + }) + }, + f = function(t, e, n) { + return "Number" === r(e) ? f.timeout(t, e, n) : f.immediate(t, e) + }; + i.process && n.nextTick ? f.immediate = function(t, e) { + return c(u.immediate, t, e, n.nextTick) + } : i.setImmediate ? f.immediate = function(t, e) { + return c(u.immediate, t, e, setImmediate) + } : i.postMessage && i.addEventListener ? (addEventListener("message", function(t) { + t.source === i && "@deferred" === t.data && (t.stopPropagation(), l(u.immediate)) + }, !0), f.immediate = function(t, e) { + return c(u.immediate, t, e, function() { + postMessage("@deferred", "*") + }) + }) : f.immediate = function(t, e) { + return c(u.immediate, t, e, function(t) { + setTimeout(t, 0) + }) + }; + var h = i.requestAnimationFrame || i.webkitRequestAnimationFrame || i.mozRequestAnimationFrame || i.oRequestAnimationFrame || i.msRequestAnimationFrame || function(t) { + setTimeout(t, 1e3 / 60) + }; + f.frame = function(t, e) { + return c(u.frame, t, e, h) + }; + var d; + f.timeout = function(t, e, n) { + var i = u.timeout; + return d || (d = f.immediate(function() { + d = null, u.timeout = {} + })), c(i[e] || (i[e] = []), t, n, function(t) { + setTimeout(t, e) + }) + }, e.exports = f + }).call(this, t("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) + }, { + _process: 99, + "mout/array/forEach": 87, + "mout/array/indexOf": 88, + "mout/lang/kindOf": 90, + "mout/time/now": 95 + }], + 84: [function(t, e, n) { + "use strict"; + var i = t("mout/array/indexOf"), + r = t("mout/array/forEach"), + o = t("./index"), + s = t("./defer"), + a = Array.prototype.slice, + u = o({ + constructor: function(t) { + this._stoppable = t + }, + on: function(t, e) { + var n = this._listeners || (this._listeners = {}), + r = n[t] || (n[t] = []); + return -1 === i(r, e) && r.push(e), this + }, + off: function(t, e) { + var n, r = this._listeners; + if (r && (n = r[t])) { + var o = i(n, e); + o > -1 && n.splice(o, 1), n.length || delete r[t]; + for (var s in r) return this; + delete this._listeners + } + return this + }, + emit: function(t) { + var e = this, + n = a.call(arguments, 1), + i = function() { + var i, o = e._listeners; + o && (i = o[t]) && r(i.slice(0), function(t) { + var i = t.apply(e, n); + if (e._stoppable) return i + }) + }; + return n[n.length - 1] === u.EMIT_SYNC ? (n.pop(), i()) : s(i), this + } + }); + u.EMIT_SYNC = {}, e.exports = u + }, { + "./defer": 83, + "./index": 85, + "mout/array/forEach": 87, + "mout/array/indexOf": 88 + }], + 85: [function(t, e, n) { + "use strict"; + var i = t("mout/object/hasOwn"), + r = t("mout/object/mixIn"), + o = t("mout/lang/createObject"), + s = t("mout/lang/kindOf"), + a = !0; + try { + Object.defineProperty({}, "~", {}), Object.getOwnPropertyDescriptor({}, "~") + } catch (t) { + a = !1 + } + var u = !{ + valueOf: 0 + }.propertyIsEnumerable("valueOf"), + c = ["toString", "valueOf"], + l = /^constructor|inherits|mixin$/, + f = function(t) { + var e = this.prototype; + for (var n in t) + if (!n.match(l)) { + if (a) { + var i = Object.getOwnPropertyDescriptor(t, n); + if (i) { + Object.defineProperty(e, n, i); + continue + } + } + e[n] = t[n] + } + if (u) + for (var r = 0; n = c[r]; r++) { + var o = t[n]; + o !== Object.prototype[n] && (e[n] = o) + } + return this + }; + e.exports = function(t) { + "Function" === s(t) && (t = { + constructor: t + }); + var e = t.inherits, + n = i(t, "constructor") ? t.constructor : e ? function() { + return e.apply(this, arguments) + } : function() {}; + if (e) { + r(n, e); + var a = e.prototype, + u = n.prototype = o(a); + n.parent = a, u.constructor = n + } + n.implement || (n.implement = f); + var c = t.mixin; + if (c) { + "Array" !== s(c) && (c = [c]); + for (var l = 0; l < c.length; l++) n.implement(o(c[l].prototype)) + } + return n.implement(t) + } + }, { + "mout/lang/createObject": 89, + "mout/lang/kindOf": 90, + "mout/object/hasOwn": 93, + "mout/object/mixIn": 94 + }], + 86: [function(t, e, n) { + "use strict"; + var i = t("mout/array/indexOf"), + r = t("./index")({ + constructor: function() { + this.length = 0, this._values = [], this._keys = [] + }, + set: function(t, e) { + var n = i(this._keys, t); + return -1 === n ? (this._keys.push(t), this._values.push(e), this.length++) : this._values[n] = e, this + }, + get: function(t) { + var e = i(this._keys, t); + return -1 === e ? null : this._values[e] + }, + count: function() { + return this.length + }, + forEach: function(t, e) { + for (var n = 0, i = this.length; n < i && !1 !== t.call(e, this._values[n], this._keys[n], this); n++); + return this + }, + map: function(t, e) { + var n = new r; + return this.forEach(function(i, r) { + n.set(r, t.call(e, i, r, this)) + }, this), n + }, + filter: function(t, e) { + var n = new r; + return this.forEach(function(i, r) { + t.call(e, i, r, this) && n.set(r, i) + }, this), n + }, + every: function(t, e) { + var n = !0; + return this.forEach(function(i, r) { + if (!t.call(e, i, r, this)) return n = !1 + }, this), n + }, + some: function(t, e) { + var n = !1; + return this.forEach(function(i, r) { + if (t.call(e, i, r, this)) return !(n = !0) + }, this), n + }, + indexOf: function(t) { + var e = i(this._values, t); + return e > -1 ? this._keys[e] : null + }, + remove: function(t) { + var e = i(this._values, t); + return -1 !== e ? (this._values.splice(e, 1), this.length--, this._keys.splice(e, 1)[0]) : null + }, + unset: function(t) { + var e = i(this._keys, t); + return -1 !== e ? (this._keys.splice(e, 1), this.length--, this._values.splice(e, 1)[0]) : null + }, + keys: function() { + return this._keys.slice() + }, + values: function() { + return this._values.slice() + } + }), + o = function() { + return new r + }; + o.prototype = r.prototype, e.exports = o + }, { + "./index": 85, + "mout/array/indexOf": 88 + }], + 87: [function(t, e, n) { + arguments[4][16][0].apply(n, arguments) + }, { + dup: 16 + }], + 88: [function(t, e, n) { + arguments[4][17][0].apply(n, arguments) + }, { + dup: 17 + }], + 89: [function(t, e, n) { + arguments[4][75][0].apply(n, arguments) + }, { + "../object/mixIn": 94, + dup: 75 + }], + 90: [function(t, e, n) { + arguments[4][25][0].apply(n, arguments) + }, { + dup: 25 + }], + 91: [function(t, e, n) { + arguments[4][28][0].apply(n, arguments) + }, { + "./hasOwn": 93, + dup: 28 + }], + 92: [function(t, e, n) { + arguments[4][29][0].apply(n, arguments) + }, { + "./forIn": 91, + "./hasOwn": 93, + dup: 29 + }], + 93: [function(t, e, n) { + arguments[4][30][0].apply(n, arguments) + }, { + dup: 30 + }], + 94: [function(t, e, n) { + arguments[4][73][0].apply(n, arguments) + }, { + "./forOwn": 92, + dup: 73 + }], + 95: [function(t, e, n) { + function i() { + return i.get() + } + i.get = "function" == typeof Date.now ? Date.now : function() { + return +new Date + }, e.exports = i + }, {}], + 96: [function(t, e, n) { + "use strict"; + var i = t("./parser"), + r = 0, + o = "uid:" + (document.__counter = (parseInt(document.__counter || -1, 36) + 1).toString(36)), + s = function(t, e) { + if (t === window) return "window"; + if (t === document) return "document"; + if (t === document.documentElement) return "html"; + if (e) { + var n = t.getAttribute(o); + return n || (n = (r++).toString(36), t.setAttribute(o, n)), n + } + return t[o] || (t[o] = (r++).toString(36)) + }, + a = function(t) { + return s(t, !0) + }, + u = Array.isArray || function(t) { + return "[object Array]" === Object.prototype.toString.call(t) + }, + c = 0, + l = { + GET_ELEMENT_BY_ID: function(t, e) { + return e = "slick_" + c++, t.innerHTML = '<a id="' + e + '"></a>', !!this.getElementById(e) + }, + QUERY_SELECTOR: function(t) { + return t.innerHTML = "_<style>:nth-child(2){}</style>", t.innerHTML = '<a class="MiX"></a>', 1 === t.querySelectorAll(".MiX").length + }, + EXPANDOS: function(t, e) { + return e = "slick_" + c++, t._custom_property_ = e, t._custom_property_ === e + }, + MATCHES_SELECTOR: function(t) { + t.className = "MiX"; + var e = t.matchesSelector || t.mozMatchesSelector || t.webkitMatchesSelector; + if (e) try { + e.call(t, ":slick") + } catch (n) { + return !!e.call(t, ".MiX") && e + } + return !1 + }, + GET_ELEMENTS_BY_CLASS_NAME: function(t) { + return t.innerHTML = '<a class="f"></a><a class="b"></a>', 1 === t.getElementsByClassName("b").length && (t.firstChild.className = "b", 2 === t.getElementsByClassName("b").length && (t.innerHTML = '<a class="a"></a><a class="f b a"></a>', 2 === t.getElementsByClassName("a").length)) + }, + GET_ATTRIBUTE: function(t) { + return t.innerHTML = '<a class="fus ro dah"></a>', "fus ro dah" === t.firstChild.getAttribute("class") + } + }, + f = function(t) { + this.document = t; + var e = this.root = t.documentElement; + this.tested = {}, this.uniqueID = this.has("EXPANDOS") ? s : a, this.getAttribute = this.has("GET_ATTRIBUTE") ? function(t, e) { + return t.getAttribute(e) + } : function(t, e) { + return (t = t.getAttributeNode(e)) && t.specified ? t.value : null + }, this.hasAttribute = e.hasAttribute ? function(t, e) { + return t.hasAttribute(e) + } : function(t, e) { + return !(!(t = t.getAttributeNode(e)) || !t.specified) + }, this.contains = t.contains && e.contains ? function(t, e) { + return t.contains(e) + } : e.compareDocumentPosition ? function(t, e) { + return t === e || !!(16 & t.compareDocumentPosition(e)) + } : function(t, e) { + do { + if (e === t) return !0 + } while (e = e.parentNode); + return !1 + }, this.sorter = e.compareDocumentPosition ? function(t, e) { + return t.compareDocumentPosition && e.compareDocumentPosition ? 4 & t.compareDocumentPosition(e) ? -1 : t === e ? 0 : 1 : 0 + } : "sourceIndex" in e ? function(t, e) { + return t.sourceIndex && e.sourceIndex ? t.sourceIndex - e.sourceIndex : 0 + } : t.createRange ? function(t, e) { + if (!t.ownerDocument || !e.ownerDocument) return 0; + var n = t.ownerDocument.createRange(), + i = e.ownerDocument.createRange(); + return n.setStart(t, 0), n.setEnd(t, 0), i.setStart(e, 0), i.setEnd(e, 0), n.compareBoundaryPoints(Range.START_TO_END, i) + } : null, this.failed = {}; + var n = this.has("MATCHES_SELECTOR"); + n && (this.matchesSelector = function(t, e) { + if (this.failed[e]) return null; + try { + return n.call(t, e) + } catch (t) { + return v.debug && console.warn("matchesSelector failed on " + e), this.failed[e] = !0, null + } + }), this.has("QUERY_SELECTOR") && (this.querySelectorAll = function(t, e) { + if (this.failed[e]) return !0; + var n, i, r, o, s; + if (t !== this.document && (o = e[0].combinator, i = t.getAttribute("id"), r = e, i || (i = "__slick__", (s = t).setAttribute("id", i)), e = "#" + i + " " + r, (o.indexOf("~") > -1 || o.indexOf("+") > -1) && ((t = t.parentNode) || (n = !0))), !n) try { + n = t.querySelectorAll(e.toString()) + } catch (t) { + v.debug && console.warn("querySelectorAll failed on " + (r || e)), n = this.failed[r || e] = !0 + } + return s && s.removeAttribute("id"), n + }) + }; + f.prototype.has = function(t) { + var e = this.tested, + n = e[t]; + if (null != n) return n; + var i = this.root, + r = this.document, + o = r.createElement("div"); + o.setAttribute("style", "display: none;"), i.appendChild(o); + var s = l[t], + a = !1; + if (s) try { + a = s.call(r, o) + } catch (t) {} + return v.debug && !a && console.warn("document has no " + t), i.removeChild(o), e[t] = a + }; + var h = { + " ": function(t, e, n) { + var i, r, o = !e.id, + s = !e.tag, + a = !e.classes; + if (e.id && t.getElementById && this.has("GET_ELEMENT_BY_ID") && (i = t.getElementById(e.id)) && i.getAttribute("id") === e.id && (r = [i], o = !0, "*" === e.tag && (s = !0)), !r && (e.classes && t.getElementsByClassName && this.has("GET_ELEMENTS_BY_CLASS_NAME") ? (r = t.getElementsByClassName(e.classList), a = !0, "*" === e.tag && (s = !0)) : (r = t.getElementsByTagName(e.tag), "*" !== e.tag && (s = !0)), !r || !r.length)) return !1; + for (var u = 0; i = r[u++];)(s && o && a && !e.attributes && !e.pseudos || this.match(i, e, s, o, a)) && n(i); + return !0 + }, + ">": function(t, e, n) { + if (t = t.firstChild) + do { + 1 == t.nodeType && this.match(t, e) && n(t) + } while (t = t.nextSibling) + }, + "+": function(t, e, n) { + for (; t = t.nextSibling;) + if (1 == t.nodeType) { + this.match(t, e) && n(t); + break + } + }, + "^": function(t, e, n) { + (t = t.firstChild) && (1 === t.nodeType ? this.match(t, e) && n(t) : h["+"].call(this, t, e, n)) + }, + "~": function(t, e, n) { + for (; t = t.nextSibling;) 1 === t.nodeType && this.match(t, e) && n(t) + }, + "++": function(t, e, n) { + h["+"].call(this, t, e, n), h["!+"].call(this, t, e, n) + }, + "~~": function(t, e, n) { + h["~"].call(this, t, e, n), h["!~"].call(this, t, e, n) + }, + "!": function(t, e, n) { + for (; t = t.parentNode;) t !== this.document && this.match(t, e) && n(t) + }, + "!>": function(t, e, n) { + (t = t.parentNode) !== this.document && this.match(t, e) && n(t) + }, + "!+": function(t, e, n) { + for (; t = t.previousSibling;) + if (1 == t.nodeType) { + this.match(t, e) && n(t); + break + } + }, + "!^": function(t, e, n) { + (t = t.lastChild) && (1 == t.nodeType ? this.match(t, e) && n(t) : h["!+"].call(this, t, e, n)) + }, + "!~": function(t, e, n) { + for (; t = t.previousSibling;) 1 === t.nodeType && this.match(t, e) && n(t) + } + }; + f.prototype.search = function(t, e, n) { + t ? !t.nodeType && t.document && (t = t.document) : t = this.document; + var r = i(e); + if (!r || !r.length) throw new Error("invalid expression"); + n || (n = []); + var o, a = u(n) ? function(t) { + n[n.length] = t + } : function(t) { + n[n.length++] = t + }; + if (r.length > 1) { + o = {}; + var c = a; + a = function(t) { + var e = s(t); + o[e] || (o[e] = !0, c(t)) + } + } + var l, f, d; + t: for (var p = 0; e = r[p++];) + if (v.noQSA || !this.querySelectorAll || !0 === (f = this.querySelectorAll(t, e))) + if (1 === e.length) d = e[0], h[d.combinator].call(this, t, d, a); + else { + for (var m, g, y, b = [t], w = 0; d = e[w++];) { + g = [], y = {}; + for (var E = 0; m = b[E++];) h[d.combinator].call(this, m, d, function(t) { + var e = s(t); + y[e] || (y[e] = !0, g[g.length] = t) + }); + if (!g.length) continue t; + b = g + } + if (0 === p) n = g; + else + for (var x = 0; x < g.length; x++) a(g[x]) + } + else if (f && f.length) + for (w = 0; l = f[w++];) l.nodeName > "@" && a(l); + return o && n && n.length > 1 && this.sort(n), n + }, f.prototype.sort = function(t) { + return this.sorter ? Array.prototype.sort.call(t, this.sorter) : t + }; + var d = { + empty: function() { + return !(this && 1 === this.nodeType || (this.innerText || this.textContent || "").length) + }, + not: function(t) { + return !v.matches(this, t) + }, + contains: function(t) { + return (this.innerText || this.textContent || "").indexOf(t) > -1 + }, + "first-child": function() { + for (var t = this; t = t.previousSibling;) + if (1 == t.nodeType) return !1; + return !0 + }, + "last-child": function() { + for (var t = this; t = t.nextSibling;) + if (1 == t.nodeType) return !1; + return !0 + }, + "only-child": function() { + for (var t = this; t = t.previousSibling;) + if (1 == t.nodeType) return !1; + for (var e = this; e = e.nextSibling;) + if (1 == e.nodeType) return !1; + return !0 + }, + "first-of-type": function() { + for (var t = this, e = t.nodeName; t = t.previousSibling;) + if (t.nodeName == e) return !1; + return !0 + }, + "last-of-type": function() { + for (var t = this, e = t.nodeName; t = t.nextSibling;) + if (t.nodeName == e) return !1; + return !0 + }, + "only-of-type": function() { + for (var t = this, e = this.nodeName; t = t.previousSibling;) + if (t.nodeName == e) return !1; + for (var n = this; n = n.nextSibling;) + if (n.nodeName == e) return !1; + return !0 + }, + enabled: function() { + return !this.disabled + }, + disabled: function() { + return this.disabled + }, + checked: function() { + return this.checked || this.selected + }, + selected: function() { + return this.selected + }, + focus: function() { + return this.ownerDocument.activeElement === this && (this.href || this.type || v.hasAttribute(this, "tabindex")) + }, + root: function() { + return this === this.ownerDocument.documentElement + } + }; + f.prototype.match = function(t, e, n, i, r) { + if (!v.noQSA && this.matchesSelector) { + var o = this.matchesSelector(t, e); + if (null !== o) return o + } + if (!n && e.tag) { + var s = t.nodeName.toLowerCase(); + if ("*" === e.tag) { + if (s < "@") return !1 + } else if (s != e.tag) return !1 + } + if (!i && e.id && t.getAttribute("id") !== e.id) return !1; + var a, u; + if (!r && e.classes) { + var c = this.getAttribute(t, "class"); + if (!c) return !1; + for (u in e.classes) + if (!RegExp("(^|\\s)" + e.classes[u] + "(\\s|$)").test(c)) return !1 + } + var l, f; + if (e.attributes) + for (a = 0; u = e.attributes[a++];) { + var h = u.operator, + p = u.escapedValue; + if (l = u.name, f = u.value, h) { + var m = this.getAttribute(t, l); + if (null == m) return !1; + switch (h) { + case "^=": + if (!RegExp("^" + p).test(m)) return !1; + break; + case "$=": + if (!RegExp(p + "$").test(m)) return !1; + break; + case "~=": + if (!RegExp("(^|\\s)" + p + "(\\s|$)").test(m)) return !1; + break; + case "|=": + if (!RegExp("^" + p + "(-|$)").test(m)) return !1; + break; + case "=": + if (m !== f) return !1; + break; + case "*=": + if (-1 === m.indexOf(f)) return !1; + break; + default: + return !1 + } + } else if (!this.hasAttribute(t, l)) return !1 + } + if (e.pseudos) + for (a = 0; u = e.pseudos[a++];) { + if (l = u.name, f = u.value, d[l]) return d[l].call(t, f); + if (null != f) { + if (this.getAttribute(t, l) !== f) return !1 + } else if (!this.hasAttribute(t, l)) return !1 + } + return !0 + }, f.prototype.matches = function(t, e) { + var n = i(e); + if (1 === n.length && 1 === n[0].length) return this.match(t, n[0][0]); + if (!v.noQSA && this.matchesSelector) { + var r = this.matchesSelector(t, n); + if (null !== r) return r + } + for (var o, s = this.search(this.document, e, { + length: 0 + }), a = 0; o = s[a++];) + if (t === o) return !0; + return !1 + }; + var p = {}, + m = function(t) { + var e = t || document; + if (e.ownerDocument ? e = e.ownerDocument : e.document && (e = e.document), 9 !== e.nodeType) throw new TypeError("invalid document"); + var n = s(e); + return p[n] || (p[n] = new f(e)) + }, + v = function(t, e) { + return v.search(t, e) + }; + v.search = function(t, e, n) { + return m(e).search(e, t, n) + }, v.find = function(t, e) { + return m(e).search(e, t)[0] || null + }, v.getAttribute = function(t, e) { + return m(t).getAttribute(t, e) + }, v.hasAttribute = function(t, e) { + return m(t).hasAttribute(t, e) + }, v.contains = function(t, e) { + return m(t).contains(t, e) + }, v.matches = function(t, e) { + return m(t).matches(t, e) + }, v.sort = function(t) { + return t && t.length > 1 && m(t[0]).sort(t), t + }, v.parse = i, e.exports = v + }, { + "./parser": 98 + }], + 97: [function(t, e, n) { + (function(n) { + "use strict"; + e.exports = "document" in n ? t("./finder") : { + parse: t("./parser") + } + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) + }, { + "./finder": 96, + "./parser": 98 + }], + 98: [function(t, e, n) { + "use strict"; + var i = /([-.*+?^${}()|[\]\/\\])/g, + r = /\\/g, + o = function(t) { + return (t + "").replace(i, "\\$1") + }, + s = function(t) { + return (t + "").replace(r, "") + }, + a = RegExp("^(?:\\s*(,)\\s*|\\s*(<combinator>+)\\s*|(\\s+)|(<unicode>+|\\*)|\\#(<unicode>+)|\\.(<unicode>+)|\\[\\s*(<unicode1>+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(<unicode>+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(/<combinator>/, "[" + o(">+~`!@$%^&={}\\;</") + "]").replace(/<unicode>/g, "(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(/<unicode1>/g, "(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")), + u = function(t) { + this.combinator = t || " ", this.tag = "*" + }; + u.prototype.toString = function() { + if (!this.raw) { + var t, e, n = ""; + if (n += this.tag || "*", this.id && (n += "#" + this.id), this.classes && (n += "." + this.classList.join(".")), this.attributes) + for (t = 0; e = this.attributes[t++];) n += "[" + e.name + (e.operator ? e.operator + '"' + e.value + '"' : "") + "]"; + if (this.pseudos) + for (t = 0; e = this.pseudos[t++];) n += ":" + e.name, e.value && (n += "(" + e.value + ")"); + this.raw = n + } + return this.raw + }; + var c = function() { + this.length = 0 + }; + c.prototype.toString = function() { + if (!this.raw) { + for (var t, e = "", n = 0; t = this[n++];) 1 !== n && (e += " "), " " !== t.combinator && (e += t.combinator + " "), e += t; + this.raw = e + } + return this.raw + }; + var l = function(t, e, n, i, r, a, l, f, h, d, p, m, v, g, y, b) { + var w, E; + if ((e || !this.length) && (w = this[this.length++] = new c, e)) return ""; + if (w || (w = this[this.length - 1]), (n || i || !w.length) && (E = w[w.length++] = new u(n)), E || (E = w[w.length - 1]), r) E.tag = s(r); + else if (a) E.id = s(a); + else if (l) { + var x = s(l), + C = E.classes || (E.classes = {}); + if (!C[x]) { + C[x] = o(l); + var _ = E.classList || (E.classList = []); + _.push(x), _.sort() + } + } else v ? (b = b || y, (E.pseudos || (E.pseudos = [])).push({ + type: 1 == m.length ? "class" : "element", + name: s(v), + escapedName: o(v), + value: b ? s(b) : null, + escapedValue: b ? o(b) : null + })) : f && (p = p ? o(p) : null, (E.attributes || (E.attributes = [])).push({ + operator: h, + name: s(f), + escapedName: o(f), + value: p ? s(p) : null, + escapedValue: p ? o(p) : null + })); + return "" + }, + f = function(t) { + this.length = 0; + for (var e, n = this, i = t; t;) { + if ((e = t.replace(a, function() { + return l.apply(n, arguments) + })) === t) throw new Error(i + " is an invalid expression"); + t = e + } + }; + f.prototype.toString = function() { + if (!this.raw) { + for (var t, e = [], n = 0; t = this[n++];) e.push(t); + this.raw = e.join(", ") + } + return this.raw + }; + var h = {}; + e.exports = function(t) { + return null == t ? null : (t = ("" + t).replace(/^\s+|\s+$/g, ""), h[t] || (h[t] = new f(t))) + } + }, {}], + 99: [function(t, e, n) { + function i() { + throw new Error("setTimeout has not been defined") + } + + function r() { + throw new Error("clearTimeout has not been defined") + } + + function o(t) { + if (f === setTimeout) return setTimeout(t, 0); + if ((f === i || !f) && setTimeout) return f = setTimeout, setTimeout(t, 0); + try { + return f(t, 0) + } catch (e) { + try { + return f.call(null, t, 0) + } catch (e) { + return f.call(this, t, 0) + } + } + } + + function s(t) { + if (h === clearTimeout) return clearTimeout(t); + if ((h === r || !h) && clearTimeout) return h = clearTimeout, clearTimeout(t); + try { + return h(t) + } catch (e) { + try { + return h.call(null, t) + } catch (e) { + return h.call(this, t) + } + } + } + + function a() { + v && p && (v = !1, p.length ? m = p.concat(m) : g = -1, m.length && u()) + } + + function u() { + if (!v) { + var t = o(a); + v = !0; + for (var e = m.length; e;) { + for (p = m, m = []; ++g < e;) p && p[g].run(); + g = -1, e = m.length + } + p = null, v = !1, s(t) + } + } + + function c(t, e) { + this.fun = t, this.array = e + } + + function l() {} + var f, h, d = e.exports = {}; + ! function() { + try { + f = "function" == typeof setTimeout ? setTimeout : i + } catch (t) { + f = i + } + try { + h = "function" == typeof clearTimeout ? clearTimeout : r + } catch (t) { + h = r + } + }(); + var p, m = [], + v = !1, + g = -1; + d.nextTick = function(t) { + var e = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; + m.push(new c(t, e)), 1 !== m.length || v || o(u) + }, c.prototype.run = function() { + this.fun.apply(null, this.array) + }, d.title = "browser", d.browser = !0, d.env = {}, d.argv = [], d.version = "", d.versions = {}, d.on = l, d.addListener = l, d.once = l, d.off = l, d.removeListener = l, d.removeAllListeners = l, d.emit = l, d.prependListener = l, d.prependOnceListener = l, d.listeners = function(t) { + return [] + }, d.binding = function(t) { + throw new Error("process.binding is not supported") + }, d.cwd = function() { + return "/" + }, d.chdir = function(t) { + throw new Error("process.chdir is not supported") + }, d.umask = function() { + return 0 + } + }, {}] +}, {}, [1]); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/engines/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/joomla.css b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/joomla.css new file mode 100644 index 0000000000000000000000000000000000000000..77e6aa19937504bb07b1a7a0e148b2702abf87ab --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/joomla.css @@ -0,0 +1,715 @@ +p { + margin: 1.5rem 0; +} + +dl { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +dd { + margin-left: 1.5rem; +} + +ul.menu ul { + margin-left: 1.5rem; +} + +.list-striped, +.row-striped { + list-style: none; + line-height: 18px; + text-align: left; + vertical-align: middle; + margin-left: 0; +} + +.list-striped li, +.list-striped dd, +.row-striped .row, +.row-striped .row-fluid { + padding: 0.75rem; +} + +.row-striped .row-fluid { + width: 97%; +} + +.row-striped .row-fluid [class*="span"] { + min-height: 10px; +} + +.row-striped .row-fluid [class*="span"] { + margin-left: 0.75rem; +} + +.row-striped .row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.list-condensed li { + padding: 0.5rem; +} + +.row-condensed .row, +.row-condensed .row-fluid { + padding: 0.5rem; +} + +.list-bordered, +.row-bordered { + list-style: none; + text-align: left; + vertical-align: middle; + margin-left: 0; + border-radius: 4px; +} + +.blog-row-rule, +.blog-item-rule { + border: 0; +} + +.row-even, +.row-odd { + padding: 5px; + width: 99%; +} + +.row-odd { + background-color: transparent; +} + +.row-fluid .row-reveal { + visibility: hidden; +} + +.row-fluid:hover .row-reveal { + visibility: visible; +} + +hr.hr-condensed { + margin: 10px 0; +} + +.img_caption .left { + float: left; + margin-right: 1.5rem; +} + +.img_caption .right { + float: right; + margin-left: 1.5rem; +} + +.img_caption .left p { + clear: left; + text-align: center; +} + +.img_caption .right p { + clear: right; + text-align: center; +} + +.img_caption { + text-align: center !important; +} + +.img_caption.none { + margin-left: auto; + margin-right: auto; +} + +figure { + display: table; +} + +figure.pull-center, +img.pull-center { + margin-left: auto; + margin-right: auto; +} + +img.pull-center { + display: block; +} + +figcaption { + display: table-caption; + caption-side: bottom; +} + +blockquote { + padding: 0 0 0 0.938rem; + margin: 0 0 1.5rem; +} + +blockquote.pull-right { + padding-right: 1.5rem; +} + +address { + margin-bottom: 1.5rem; +} + +code, +pre { + border-radius: 0.1875rem; +} + +pre { + padding: 0.938rem; + margin: 0 0 1.5rem; + border-radius: 0.1875rem; +} + +pre.prettyprint { + margin-bottom: 1.5rem; +} + +.btn .caret { + margin-bottom: 7px; +} + +.btn.btn-micro .caret { + margin: 5px 0; +} + +.btn-wide { + width: 80%; +} + +.radio.btn-group input[type=radio] { + display: none; +} + +.radio.btn-group>label:first-of-type { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +fieldset.radio.btn-group { + padding-left: 0; +} + +.btn-micro { + padding: 1px 4px; + font-size: 10px; + line-height: 8px; +} + +.btn-group>.btn-micro { + font-size: 10px; +} + +.btn-group>.btn+.dropdown-backdrop+.btn { + margin-left: -1px; +} + +.btn-group>.btn+.dropdown-backdrop+.dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + *padding-top: 5px; + *padding-bottom: 5px; +} + +.btn-group>.btn-mini+.dropdown-backdrop+.dropdown-toggle { + padding-left: 5px; + padding-right: 5px; + *padding-top: 2px; + *padding-bottom: 2px; +} + +.btn-group>.btn-small+.dropdown-backdrop+.dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group>.btn-large+.dropdown-backdrop+.dropdown-toggle { + padding-left: 12px; + padding-right: 12px; + *padding-top: 7px; + *padding-bottom: 7px; +} + +.btn-group .chzn-results { + white-space: normal; +} + +.controls .input-append .btn { + padding: 6px 12px; + font-size: 14px; + line-height: 20px; +} + +.btn.jmodedit { + padding: 0; + text-align: center; + font-size: 0.8rem; +} + +.btn.jmodedit [class^="icon-"], +.btn.jmodedit [class*=" icon-"] { + margin: 6px 8px; + align: center; +} + +.filters.btn-toolbar .btn-group, +.filters.btn-toolbar { + font-size: inherit; +} + +.platform-content input { + box-sizing: content-box; +} + +legend { + margin-bottom: 1.5rem; +} + +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="color"], +input[type="date"], +input[type="datetime"], +input[type="datetime-local"], +input[type="email"], +input[type="month"], +input[type="number"], +input[type="password"], +input[type="search"], +input[type="tel"], +input[type="text"], +input[type="time"], +input[type="url"], +input[type="week"], +input:not([type]), +textarea { + padding: 0.375rem 0.375rem; +} + +.uneditable-input { + width: 100%; +} + +.platform-content .input-block-level, +.platform-content .input-large, +.platform-content .input-xlarge, +.platform-content .input-xxlarge, +.platform-content .uneditable-input { + display: block; + width: 100%; + min-height: 28px; +} + +.input-prepend .chzn-container-single .chzn-single, +.input-append .chzn-container-single .chzn-single { + height: 26px; + box-shadow: none; +} + +.input-prepend>.add-on, +.input-append>.add-on { + vertical-align: top; + height: auto; + padding: 5px; +} + +.input-prepend .chzn-container-single .chzn-single { + border-radius: 0 0.1875rem 0.1875rem 0; +} + +.input-prepend .chzn-container-single .chzn-single-with-drop { + border-radius: 0 0.1875rem 0 0; +} + +.input-append .chzn-container-single .chzn-single { + border-radius: 0.1875rem 0 0 0.1875rem; +} + +.input-append .chzn-container-single .chzn-single-with-drop { + border-radius: 0.1875rem 0 0 0; +} + +.input-prepend.input-append .chzn-container-single .chzn-single, +.input-prepend.input-append .chzn-container-single .chzn-single-with-drop { + border-radius: 0; +} + +.element-invisible { + position: absolute; + padding: 0; + margin: 0; + border: 0; + height: 1px; + width: 1px; + overflow: hidden; +} + +.form-vertical .control-label { + float: none; + width: auto; + padding-right: 0; + padding-top: 0; + text-align: left; +} + +.control-label .hasTooltip, +.control-label .hasPopover { + display: inline-block; +} + +.form-vertical .controls { + margin-left: 0; +} + +.invalid { + color: #9d261d; +} + +input.invalid { + border: 1px solid #9d261d; +} + +#modules-form .btn-group { + font-size: inherit; +} + +#modules-form .radio.btn-group input[type=radio] { + display: inherit; + margin-left: inherit; +} + +.controls input[type="radio"] { + margin-right: 5px; +} + +.layout-edit #sbox-content.sbox-content-iframe { + overflow: hidden; +} + +.nav-list>li.offset>a { + padding-left: 30px; + font-size: 12px; +} + +.navbar .nav>li>a.btn { + padding: 4px 10px; + line-height: 18px; +} + +.nav-tabs.nav-dark>.active>a, +.nav-tabs.nav-dark>.active>a:hover { + border-bottom-color: transparent; +} + +.tab-content { + overflow: visible; +} + +.tabs-left .tab-content { + overflow: auto; +} + +.nav-tabs>li>span { + display: block; + margin-right: 2px; + padding-right: 12px; + padding-left: 12px; + padding-top: 8px; + padding-bottom: 8px; + line-height: 18px; + border: 1px solid transparent; + border-radius: 0.1875rem 0.1875rem 0 0; +} + +.dropdown-menu { + text-align: left; +} + +body.modal { + padding-top: 0; +} + +.thumbnail.pull-left { + margin: 0 10px 10px 0; +} + +.thumbnail.pull-right { + margin: 0 0 10px 10px; +} + +body.modal .manager .height-50 .icon-folder-2 { + font-size: 30px; + height: 35px; + width: 35px; + line-height: 35px; +} + +body.modal .manager.thumbnails .small { + font-size: 12px; +} + +.accordion-body.in:hover { + overflow: visible; +} + +.tip-wrap { + max-width: 200px; + padding: 3px 8px; + text-align: center; + text-decoration: none; + border-radius: 0.1875rem; + z-index: 100; +} + +.tooltip { + max-width: 400px; +} + +.tooltip-inner { + max-width: none; + text-align: left; + text-shadow: none; +} + +th .tooltip-inner { + font-weight: normal; +} + +.tooltip.hasimage { + opacity: 1; +} + +.tip-text { + text-align: left; +} + +#helpsite-refresh { + vertical-align: top; +} + +#pop-print { + float: right; + margin: 10px; +} + +#filter-search { + vertical-align: top; +} + +.editor { + overflow: hidden; + position: relative; +} + +.search span.highlight { + font-weight: bold; + padding: 1px 4px; +} + +.img-rounded { + border-radius: 0.1875rem; +} + +.img-polaroid { + padding: 4px; +} + +.alert { + border-radius: 0.1875rem; + padding: 0.938rem; + margin-bottom: 1.5rem; + text-shadow: none; +} + +.add-on [class^="icon-"], +.add-on [class*=" icon-"] { + height: auto; + line-height: 1.5; + margin-right: auto; +} + +[class^="icon-"], +[class*=" icon-"] { + margin-right: .25em; + line-height: 14px; +} + +.pull-right.item-image { + margin: 0 0 1.5rem 1.5rem; +} + +.pull-left.item-image { + margin: 0 1.5rem 1.5rem 0; +} + +#imageForm button:hover, +#uploadForm button:hover { + border-color: inherit; +} + +.calendar .title { + border: none; +} + +.calendar thead .name { + padding: 2px; +} + +.calendar thead .button { + color: #000 !important; + font-weight: normal; + border: 1px solid transparent; + display: table-cell; + background: inherit; +} + +.calendar thead .hilite { + border-radius: 0; + padding: 2px; +} + +.width-10 { + width: 10px; +} + +.width-20 { + width: 20px; +} + +.width-30 { + width: 30px; +} + +.width-40 { + width: 40px; +} + +.width-50 { + width: 50px; +} + +.width-60 { + width: 60px; +} + +.width-70 { + width: 70px; +} + +.width-80 { + width: 80px; +} + +.width-90 { + width: 90px; +} + +.width-100 { + width: 100px; +} + +.height-10 { + height: 10px; +} + +.height-20 { + height: 20px; +} + +.height-30 { + height: 30px; +} + +.height-40 { + height: 40px; +} + +.height-50 { + height: 50px; +} + +.height-60 { + height: 60px; +} + +.height-70 { + height: 70px; +} + +.height-80 { + height: 80px; +} + +.height-90 { + height: 90px; +} + +.height-100 { + height: 100px; +} + +.view-mailto .formelm label, +.print-mode .formelm label { + display: block; +} + +.contentpane.modal { + padding: 1.5rem; +} + +.sprocket-strips.loading .sprocket-strips-overlay { + box-sizing: content-box; +} + +#frame { + margin: 20px auto; + width: 400px; + padding: 20px; +} + +#frame img { + max-width: 100%; + height: auto; +} + +#frame form { + text-align: left; +} + +.outline { + padding: 2px; +} + +#system-message { + margin: 0 auto; + padding: 20px 0 0; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/nucleus.css b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/nucleus.css new file mode 100644 index 0000000000000000000000000000000000000000..59031394e6211a9cce7cdc79a42df5169654568b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/css-compiled/nucleus.css @@ -0,0 +1,2298 @@ +.g-main-nav .g-dropdown, +.g-main-nav .g-standard .g-dropdown .g-dropdown { + position: absolute; + top: auto; + left: auto; + opacity: 0; + visibility: hidden; + overflow: hidden; +} + +.g-main-nav .g-standard .g-dropdown.g-active, +.g-main-nav .g-fullwidth .g-dropdown.g-active { + opacity: 1; + visibility: visible; + overflow: visible; +} + +.g-main-nav ul, +#g-mobilemenu-container ul { + margin: 0; + padding: 0; + list-style: none; +} + +@-webkit-viewport { + width: device-width; +} + +@-moz-viewport { + width: device-width; +} + +@-ms-viewport { + width: device-width; +} + +@-o-viewport { + width: device-width; +} + +@viewport { + width: device-width; +} + +html { + height: 100%; + font-size: 100%; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + box-sizing: border-box; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +body { + margin: 0; +} + +#g-page-surround { + min-height: 100vh; + position: relative; + overflow: hidden; +} + +article, +aside, +details, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + background: transparent; + text-decoration: none; +} + +a:active, +a:hover { + outline: 0; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +mark { + background: #ff0; + color: #000; +} + +sub, +sup { + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + width: auto\9; + height: auto; + max-width: 100%; + display: inline-block; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +iframe, +svg { + max-width: 100%; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + height: 0; +} + +pre { + overflow: auto; +} + +code { + vertical-align: bottom; +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} + +button { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input { + line-height: normal; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +input[type="search"] { + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; + width: 100%; +} + +tr, +td, +th { + vertical-align: middle; +} + +th, +td { + padding: 0.375rem 0; +} + +th { + text-align: left; +} + +@media print { + body { + background: #fff !important; + color: #000 !important; + } +} + +.g-container { + margin: 0 auto; + padding: 0; +} + +.g-block .g-container { + width: auto; +} + +.g-grid { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -moz-flex-flow: row wrap; + flex-flow: row wrap; + list-style: none; + margin: 0; + padding: 0; + text-rendering: optimizespeed; +} + +.g-grid.nowrap { + -webkit-flex-flow: row; + -moz-flex-flow: row; + flex-flow: row; +} + +.g-block { + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + -webkit-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + min-width: 0; + min-height: 0; +} + +.first-block { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; +} + +.last-block { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; +} + +.size-5 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 5%; + -moz-flex: 0 5%; + -ms-flex: 0 5%; + flex: 0 5%; + width: 5%; +} + +.size-6 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 6%; + -moz-flex: 0 6%; + -ms-flex: 0 6%; + flex: 0 6%; + width: 6%; +} + +.size-7 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 7%; + -moz-flex: 0 7%; + -ms-flex: 0 7%; + flex: 0 7%; + width: 7%; +} + +.size-8 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 8%; + -moz-flex: 0 8%; + -ms-flex: 0 8%; + flex: 0 8%; + width: 8%; +} + +.size-9 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 9%; + -moz-flex: 0 9%; + -ms-flex: 0 9%; + flex: 0 9%; + width: 9%; +} + +.size-10 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 10%; + -moz-flex: 0 10%; + -ms-flex: 0 10%; + flex: 0 10%; + width: 10%; +} + +.size-11 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 11%; + -moz-flex: 0 11%; + -ms-flex: 0 11%; + flex: 0 11%; + width: 11%; +} + +.size-12 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 12%; + -moz-flex: 0 12%; + -ms-flex: 0 12%; + flex: 0 12%; + width: 12%; +} + +.size-13 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 13%; + -moz-flex: 0 13%; + -ms-flex: 0 13%; + flex: 0 13%; + width: 13%; +} + +.size-14 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 14%; + -moz-flex: 0 14%; + -ms-flex: 0 14%; + flex: 0 14%; + width: 14%; +} + +.size-15 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 15%; + -moz-flex: 0 15%; + -ms-flex: 0 15%; + flex: 0 15%; + width: 15%; +} + +.size-16 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 16%; + -moz-flex: 0 16%; + -ms-flex: 0 16%; + flex: 0 16%; + width: 16%; +} + +.size-17 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 17%; + -moz-flex: 0 17%; + -ms-flex: 0 17%; + flex: 0 17%; + width: 17%; +} + +.size-18 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 18%; + -moz-flex: 0 18%; + -ms-flex: 0 18%; + flex: 0 18%; + width: 18%; +} + +.size-19 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 19%; + -moz-flex: 0 19%; + -ms-flex: 0 19%; + flex: 0 19%; + width: 19%; +} + +.size-20 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 20%; + -moz-flex: 0 20%; + -ms-flex: 0 20%; + flex: 0 20%; + width: 20%; +} + +.size-21 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 21%; + -moz-flex: 0 21%; + -ms-flex: 0 21%; + flex: 0 21%; + width: 21%; +} + +.size-22 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 22%; + -moz-flex: 0 22%; + -ms-flex: 0 22%; + flex: 0 22%; + width: 22%; +} + +.size-23 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 23%; + -moz-flex: 0 23%; + -ms-flex: 0 23%; + flex: 0 23%; + width: 23%; +} + +.size-24 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 24%; + -moz-flex: 0 24%; + -ms-flex: 0 24%; + flex: 0 24%; + width: 24%; +} + +.size-25 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 25%; + -moz-flex: 0 25%; + -ms-flex: 0 25%; + flex: 0 25%; + width: 25%; +} + +.size-26 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 26%; + -moz-flex: 0 26%; + -ms-flex: 0 26%; + flex: 0 26%; + width: 26%; +} + +.size-27 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 27%; + -moz-flex: 0 27%; + -ms-flex: 0 27%; + flex: 0 27%; + width: 27%; +} + +.size-28 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 28%; + -moz-flex: 0 28%; + -ms-flex: 0 28%; + flex: 0 28%; + width: 28%; +} + +.size-29 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 29%; + -moz-flex: 0 29%; + -ms-flex: 0 29%; + flex: 0 29%; + width: 29%; +} + +.size-30 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 30%; + -moz-flex: 0 30%; + -ms-flex: 0 30%; + flex: 0 30%; + width: 30%; +} + +.size-31 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 31%; + -moz-flex: 0 31%; + -ms-flex: 0 31%; + flex: 0 31%; + width: 31%; +} + +.size-32 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 32%; + -moz-flex: 0 32%; + -ms-flex: 0 32%; + flex: 0 32%; + width: 32%; +} + +.size-33 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 33%; + -moz-flex: 0 33%; + -ms-flex: 0 33%; + flex: 0 33%; + width: 33%; +} + +.size-34 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 34%; + -moz-flex: 0 34%; + -ms-flex: 0 34%; + flex: 0 34%; + width: 34%; +} + +.size-35 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 35%; + -moz-flex: 0 35%; + -ms-flex: 0 35%; + flex: 0 35%; + width: 35%; +} + +.size-36 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 36%; + -moz-flex: 0 36%; + -ms-flex: 0 36%; + flex: 0 36%; + width: 36%; +} + +.size-37 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 37%; + -moz-flex: 0 37%; + -ms-flex: 0 37%; + flex: 0 37%; + width: 37%; +} + +.size-38 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 38%; + -moz-flex: 0 38%; + -ms-flex: 0 38%; + flex: 0 38%; + width: 38%; +} + +.size-39 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 39%; + -moz-flex: 0 39%; + -ms-flex: 0 39%; + flex: 0 39%; + width: 39%; +} + +.size-40 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 40%; + -moz-flex: 0 40%; + -ms-flex: 0 40%; + flex: 0 40%; + width: 40%; +} + +.size-41 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 41%; + -moz-flex: 0 41%; + -ms-flex: 0 41%; + flex: 0 41%; + width: 41%; +} + +.size-42 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 42%; + -moz-flex: 0 42%; + -ms-flex: 0 42%; + flex: 0 42%; + width: 42%; +} + +.size-43 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 43%; + -moz-flex: 0 43%; + -ms-flex: 0 43%; + flex: 0 43%; + width: 43%; +} + +.size-44 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 44%; + -moz-flex: 0 44%; + -ms-flex: 0 44%; + flex: 0 44%; + width: 44%; +} + +.size-45 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 45%; + -moz-flex: 0 45%; + -ms-flex: 0 45%; + flex: 0 45%; + width: 45%; +} + +.size-46 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 46%; + -moz-flex: 0 46%; + -ms-flex: 0 46%; + flex: 0 46%; + width: 46%; +} + +.size-47 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 47%; + -moz-flex: 0 47%; + -ms-flex: 0 47%; + flex: 0 47%; + width: 47%; +} + +.size-48 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 48%; + -moz-flex: 0 48%; + -ms-flex: 0 48%; + flex: 0 48%; + width: 48%; +} + +.size-49 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 49%; + -moz-flex: 0 49%; + -ms-flex: 0 49%; + flex: 0 49%; + width: 49%; +} + +.size-50 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 50%; + -moz-flex: 0 50%; + -ms-flex: 0 50%; + flex: 0 50%; + width: 50%; +} + +.size-51 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 51%; + -moz-flex: 0 51%; + -ms-flex: 0 51%; + flex: 0 51%; + width: 51%; +} + +.size-52 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 52%; + -moz-flex: 0 52%; + -ms-flex: 0 52%; + flex: 0 52%; + width: 52%; +} + +.size-53 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 53%; + -moz-flex: 0 53%; + -ms-flex: 0 53%; + flex: 0 53%; + width: 53%; +} + +.size-54 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 54%; + -moz-flex: 0 54%; + -ms-flex: 0 54%; + flex: 0 54%; + width: 54%; +} + +.size-55 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 55%; + -moz-flex: 0 55%; + -ms-flex: 0 55%; + flex: 0 55%; + width: 55%; +} + +.size-56 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 56%; + -moz-flex: 0 56%; + -ms-flex: 0 56%; + flex: 0 56%; + width: 56%; +} + +.size-57 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 57%; + -moz-flex: 0 57%; + -ms-flex: 0 57%; + flex: 0 57%; + width: 57%; +} + +.size-58 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 58%; + -moz-flex: 0 58%; + -ms-flex: 0 58%; + flex: 0 58%; + width: 58%; +} + +.size-59 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 59%; + -moz-flex: 0 59%; + -ms-flex: 0 59%; + flex: 0 59%; + width: 59%; +} + +.size-60 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 60%; + -moz-flex: 0 60%; + -ms-flex: 0 60%; + flex: 0 60%; + width: 60%; +} + +.size-61 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 61%; + -moz-flex: 0 61%; + -ms-flex: 0 61%; + flex: 0 61%; + width: 61%; +} + +.size-62 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 62%; + -moz-flex: 0 62%; + -ms-flex: 0 62%; + flex: 0 62%; + width: 62%; +} + +.size-63 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 63%; + -moz-flex: 0 63%; + -ms-flex: 0 63%; + flex: 0 63%; + width: 63%; +} + +.size-64 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 64%; + -moz-flex: 0 64%; + -ms-flex: 0 64%; + flex: 0 64%; + width: 64%; +} + +.size-65 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 65%; + -moz-flex: 0 65%; + -ms-flex: 0 65%; + flex: 0 65%; + width: 65%; +} + +.size-66 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 66%; + -moz-flex: 0 66%; + -ms-flex: 0 66%; + flex: 0 66%; + width: 66%; +} + +.size-67 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 67%; + -moz-flex: 0 67%; + -ms-flex: 0 67%; + flex: 0 67%; + width: 67%; +} + +.size-68 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 68%; + -moz-flex: 0 68%; + -ms-flex: 0 68%; + flex: 0 68%; + width: 68%; +} + +.size-69 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 69%; + -moz-flex: 0 69%; + -ms-flex: 0 69%; + flex: 0 69%; + width: 69%; +} + +.size-70 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 70%; + -moz-flex: 0 70%; + -ms-flex: 0 70%; + flex: 0 70%; + width: 70%; +} + +.size-71 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 71%; + -moz-flex: 0 71%; + -ms-flex: 0 71%; + flex: 0 71%; + width: 71%; +} + +.size-72 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 72%; + -moz-flex: 0 72%; + -ms-flex: 0 72%; + flex: 0 72%; + width: 72%; +} + +.size-73 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 73%; + -moz-flex: 0 73%; + -ms-flex: 0 73%; + flex: 0 73%; + width: 73%; +} + +.size-74 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 74%; + -moz-flex: 0 74%; + -ms-flex: 0 74%; + flex: 0 74%; + width: 74%; +} + +.size-75 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 75%; + -moz-flex: 0 75%; + -ms-flex: 0 75%; + flex: 0 75%; + width: 75%; +} + +.size-76 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 76%; + -moz-flex: 0 76%; + -ms-flex: 0 76%; + flex: 0 76%; + width: 76%; +} + +.size-77 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 77%; + -moz-flex: 0 77%; + -ms-flex: 0 77%; + flex: 0 77%; + width: 77%; +} + +.size-78 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 78%; + -moz-flex: 0 78%; + -ms-flex: 0 78%; + flex: 0 78%; + width: 78%; +} + +.size-79 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 79%; + -moz-flex: 0 79%; + -ms-flex: 0 79%; + flex: 0 79%; + width: 79%; +} + +.size-80 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 80%; + -moz-flex: 0 80%; + -ms-flex: 0 80%; + flex: 0 80%; + width: 80%; +} + +.size-81 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 81%; + -moz-flex: 0 81%; + -ms-flex: 0 81%; + flex: 0 81%; + width: 81%; +} + +.size-82 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 82%; + -moz-flex: 0 82%; + -ms-flex: 0 82%; + flex: 0 82%; + width: 82%; +} + +.size-83 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 83%; + -moz-flex: 0 83%; + -ms-flex: 0 83%; + flex: 0 83%; + width: 83%; +} + +.size-84 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 84%; + -moz-flex: 0 84%; + -ms-flex: 0 84%; + flex: 0 84%; + width: 84%; +} + +.size-85 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 85%; + -moz-flex: 0 85%; + -ms-flex: 0 85%; + flex: 0 85%; + width: 85%; +} + +.size-86 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 86%; + -moz-flex: 0 86%; + -ms-flex: 0 86%; + flex: 0 86%; + width: 86%; +} + +.size-87 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 87%; + -moz-flex: 0 87%; + -ms-flex: 0 87%; + flex: 0 87%; + width: 87%; +} + +.size-88 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 88%; + -moz-flex: 0 88%; + -ms-flex: 0 88%; + flex: 0 88%; + width: 88%; +} + +.size-89 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 89%; + -moz-flex: 0 89%; + -ms-flex: 0 89%; + flex: 0 89%; + width: 89%; +} + +.size-90 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 90%; + -moz-flex: 0 90%; + -ms-flex: 0 90%; + flex: 0 90%; + width: 90%; +} + +.size-91 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 91%; + -moz-flex: 0 91%; + -ms-flex: 0 91%; + flex: 0 91%; + width: 91%; +} + +.size-92 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 92%; + -moz-flex: 0 92%; + -ms-flex: 0 92%; + flex: 0 92%; + width: 92%; +} + +.size-93 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 93%; + -moz-flex: 0 93%; + -ms-flex: 0 93%; + flex: 0 93%; + width: 93%; +} + +.size-94 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 94%; + -moz-flex: 0 94%; + -ms-flex: 0 94%; + flex: 0 94%; + width: 94%; +} + +.size-95 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 95%; + -moz-flex: 0 95%; + -ms-flex: 0 95%; + flex: 0 95%; + width: 95%; +} + +.size-33-3 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 33.33333%; + -moz-flex: 0 33.33333%; + -ms-flex: 0 33.33333%; + flex: 0 33.33333%; + width: 33.33333%; + max-width: 33.33333%; +} + +.size-16-7 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 16.66667%; + -moz-flex: 0 16.66667%; + -ms-flex: 0 16.66667%; + flex: 0 16.66667%; + width: 16.66667%; + max-width: 16.66667%; +} + +.size-14-3 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 14.28571%; + -moz-flex: 0 14.28571%; + -ms-flex: 0 14.28571%; + flex: 0 14.28571%; + width: 14.28571%; + max-width: 14.28571%; +} + +.size-12-5 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 12.5%; + -moz-flex: 0 12.5%; + -ms-flex: 0 12.5%; + flex: 0 12.5%; + width: 12.5%; + max-width: 12.5%; +} + +.size-11-1 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 11.11111%; + -moz-flex: 0 11.11111%; + -ms-flex: 0 11.11111%; + flex: 0 11.11111%; + width: 11.11111%; + max-width: 11.11111%; +} + +.size-9-1 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 9.09091%; + -moz-flex: 0 9.09091%; + -ms-flex: 0 9.09091%; + flex: 0 9.09091%; + width: 9.09091%; + max-width: 9.09091%; +} + +.size-8-3 { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 8.33333%; + -moz-flex: 0 8.33333%; + -ms-flex: 0 8.33333%; + flex: 0 8.33333%; + width: 8.33333%; + max-width: 8.33333%; +} + +.size-100 { + width: 100%; + max-width: 100%; + -webkit-flex-grow: 0; + -moz-flex-grow: 0; + flex-grow: 0; + -ms-flex-positive: 0; + -webkit-flex-basis: 100%; + -moz-flex-basis: 100%; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; +} + +.g-main-nav:not(.g-menu-hastouch) .g-dropdown { + z-index: 10; + top: -9999px; +} + +.g-main-nav:not(.g-menu-hastouch) .g-dropdown.g-active { + top: 100%; +} + +.g-main-nav:not(.g-menu-hastouch) .g-dropdown .g-dropdown { + top: 0; +} + +.g-main-nav:not(.g-menu-hastouch) .g-fullwidth .g-dropdown.g-active { + top: auto; +} + +.g-main-nav:not(.g-menu-hastouch) .g-fullwidth .g-dropdown .g-dropdown.g-active { + top: 0; +} + +.g-main-nav .g-toplevel>li { + display: inline-block; + cursor: pointer; + -webkit-transition: background 0.2s ease-out, -webkit-transform 0.2s ease-out; + -moz-transition: background 0.2s ease-out, -moz-transform 0.2s ease-out; + transition: background 0.2s ease-out, transform 0.2s ease-out; +} + +.g-main-nav .g-toplevel>li.g-menu-item-type-particle, +.g-main-nav .g-toplevel>li.g-menu-item-type-module { + cursor: initial; +} + +.g-main-nav .g-toplevel>li .g-menu-item-content { + display: inline-block; + vertical-align: middle; + cursor: pointer; +} + +.g-main-nav .g-toplevel>li .g-menu-item-container { + -webkit-transition: -webkit-transform 0.2s ease-out; + -moz-transition: -moz-transform 0.2s ease-out; + transition: transform 0.2s ease-out; +} + +.g-main-nav .g-toplevel>li.g-parent .g-menu-parent-indicator { + display: inline-block; + vertical-align: middle; + line-height: normal; +} + +.g-main-nav .g-toplevel>li.g-parent .g-menu-parent-indicator:after { + display: inline-block; + cursor: pointer; + width: 1.5rem; + opacity: 0.5; + font-family: FontAwesome, serif; + content: "\f078"; + text-align: right; +} + +.g-main-nav .g-toplevel>li.g-parent.g-selected>.g-menu-item-container>.g-menu-parent-indicator:after { + content: "\f00d"; +} + +.g-main-nav .g-dropdown { + -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out; + -moz-transition: opacity 0.2s ease-out, -moz-transform 0.2s ease-out; + transition: opacity 0.2s ease-out, transform 0.2s ease-out; + z-index: 1; +} + +.g-main-nav .g-sublevel>li { + -webkit-transition: background 0.2s ease-out, -webkit-transform 0.2s ease-out; + -moz-transition: background 0.2s ease-out, -moz-transform 0.2s ease-out; + transition: background 0.2s ease-out, transform 0.2s ease-out; +} + +.g-main-nav .g-sublevel>li.g-menu-item-type-particle, +.g-main-nav .g-sublevel>li.g-menu-item-type-module { + cursor: initial; +} + +.g-main-nav .g-sublevel>li .g-menu-item-content { + display: inline-block; + vertical-align: middle; + word-break: break-word; +} + +.g-main-nav .g-sublevel>li.g-parent .g-menu-item-content { + margin-right: 2rem; +} + +.g-main-nav .g-sublevel>li.g-parent .g-menu-parent-indicator { + position: absolute; + right: 0.738rem; + top: 0.838rem; + width: auto; + text-align: center; +} + +.g-main-nav .g-sublevel>li.g-parent .g-menu-parent-indicator:after { + content: "\f054"; + text-align: center; +} + +.g-main-nav .g-sublevel>li.g-parent.g-selected>.g-menu-item-container>.g-menu-parent-indicator:after { + content: "\f00d"; +} + +[dir="rtl"] .g-main-nav .g-sublevel>li.g-parent .g-menu-item-content { + margin-right: inherit; + margin-left: 2rem; + text-align: right; +} + +[dir="rtl"] .g-main-nav .g-sublevel>li.g-parent .g-menu-parent-indicator { + right: inherit; + left: 0.738rem; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} + +.g-menu-item-container { + display: block; + position: relative; +} + +.g-menu-item-container input, +.g-menu-item-container textarea { + color: #666; +} + +.g-main-nav .g-standard { + position: relative; +} + +.g-main-nav .g-standard .g-sublevel>li { + position: relative; +} + +.g-main-nav .g-standard .g-dropdown { + top: 100%; +} + +.g-main-nav .g-standard .g-dropdown.g-dropdown-left { + right: 0; +} + +.g-main-nav .g-standard .g-dropdown.g-dropdown-center { + left: 50%; + -webkit-transform: translateX(-50%); + -moz-transform: translateX(-50%); + -ms-transform: translateX(-50%); + -o-transform: translateX(-50%); + transform: translateX(-50%); +} + +.g-main-nav .g-standard .g-dropdown.g-dropdown-right { + left: 0; +} + +.g-main-nav .g-standard .g-dropdown .g-dropdown { + top: 0; +} + +.g-main-nav .g-standard .g-dropdown .g-dropdown.g-dropdown-left { + left: auto; + right: 100%; +} + +.g-main-nav .g-standard .g-dropdown .g-dropdown.g-dropdown-right { + left: 100%; + right: auto; +} + +.g-main-nav .g-standard .g-dropdown .g-block { + -webkit-flex-grow: 0; + -moz-flex-grow: 0; + flex-grow: 0; + -ms-flex-positive: 0; + -webkit-flex-basis: 100%; + -moz-flex-basis: 100%; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; +} + +.g-main-nav .g-standard .g-go-back { + display: none; +} + +.g-main-nav .g-fullwidth .g-dropdown { + position: absolute; + left: 0; + right: 0; +} + +.g-main-nav .g-fullwidth .g-dropdown.g-dropdown-left { + right: 0; + left: inherit; +} + +.g-main-nav .g-fullwidth .g-dropdown.g-dropdown-center { + left: inherit; + right: inherit; + left: 50%; + -webkit-transform: translateX(-50%); + -moz-transform: translateX(-50%); + -ms-transform: translateX(-50%); + -o-transform: translateX(-50%); + transform: translateX(-50%); +} + +.g-main-nav .g-fullwidth .g-dropdown.g-dropdown-right { + left: 0; + right: inherit; +} + +.g-main-nav .g-fullwidth .g-dropdown .g-block { + position: relative; + overflow: hidden; +} + +.g-main-nav .g-fullwidth .g-dropdown .g-go-back { + display: block; +} + +.g-main-nav .g-fullwidth .g-dropdown .g-go-back.g-level-1 { + display: none; +} + +.g-main-nav .g-fullwidth .g-sublevel .g-dropdown { + top: 0; + -webkit-transform: translateX(100%); + -moz-transform: translateX(100%); + -ms-transform: translateX(100%); + -o-transform: translateX(100%); + transform: translateX(100%); +} + +.g-main-nav .g-fullwidth .g-sublevel .g-dropdown.g-active { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); +} + +.g-main-nav .g-fullwidth .g-sublevel.g-slide-out>.g-menu-item>.g-menu-item-container { + -webkit-transform: translateX(-100%); + -moz-transform: translateX(-100%); + -ms-transform: translateX(-100%); + -o-transform: translateX(-100%); + transform: translateX(-100%); +} + +.g-go-back.g-level-1 { + display: none; +} + +.g-go-back a span { + display: none; +} + +.g-go-back a:before { + display: block; + text-align: center; + width: 1.28571em; + font-family: FontAwesome; + content: "\f053"; + opacity: 0.5; +} + +.g-menu-item-container>i { + vertical-align: middle; + margin-right: 0.2rem; +} + +.g-menu-item-subtitle { + display: block; + font-size: 0.8rem; + line-height: 1.1; +} + +.g-nav-overlay, +.g-menu-overlay { + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + opacity: 0; + position: absolute; + -webkit-transition: opacity 0.3s ease-out, z-index 0.1s ease-out; + -moz-transition: opacity 0.3s ease-out, z-index 0.1s ease-out; + transition: opacity 0.3s ease-out, z-index 0.1s ease-out; +} + +#g-mobilemenu-container .g-toplevel { + position: relative; +} + +#g-mobilemenu-container .g-toplevel li { + display: block; + position: static !important; + margin-right: 0; + cursor: pointer; +} + +#g-mobilemenu-container .g-toplevel li .g-menu-item-container { + padding: 0.938rem 1rem; +} + +#g-mobilemenu-container .g-toplevel li .g-menu-item-content { + display: inline-block; + line-height: 1rem; +} + +#g-mobilemenu-container .g-toplevel li.g-parent>.g-menu-item-container>.g-menu-item-content { + position: relative; +} + +#g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator { + position: absolute; + right: 0.938rem; + text-align: center; +} + +#g-mobilemenu-container .g-toplevel li.g-parent .g-menu-parent-indicator:after { + display: inline-block; + text-align: center; + opacity: 0.5; + width: 1.5rem; + line-height: normal; + font-family: FontAwesome; + content: "\f054"; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown { + top: 0; + background: transparent; + position: absolute; + left: 0; + right: 0; + z-index: 1; + -webkit-transition: -webkit-transform 0.2s ease-out; + -moz-transition: -moz-transform 0.2s ease-out; + transition: transform 0.2s ease-out; + -webkit-transform: translateX(100%); + -moz-transform: translateX(100%); + -ms-transform: translateX(100%); + -o-transform: translateX(100%); + transform: translateX(100%); +} + +#g-mobilemenu-container .g-toplevel .g-dropdown.g-active { + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -ms-transform: translateX(0); + -o-transform: translateX(0); + transform: translateX(0); + z-index: 0; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown .g-go-back { + display: block; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown .g-block { + width: 100%; + overflow: visible; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown .g-block .g-go-back { + display: none; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown .g-block:first-child .g-go-back { + display: block; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown-column { + float: none; + padding: 0; +} + +#g-mobilemenu-container .g-toplevel .g-dropdown-column [class*="size-"] { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 1 100%; + -moz-flex: 0 1 100%; + -ms-flex: 0 1 100%; + flex: 0 1 100%; + max-width: 100%; +} + +#g-mobilemenu-container .g-sublevel { + cursor: default; +} + +#g-mobilemenu-container .g-sublevel li { + position: static; +} + +#g-mobilemenu-container .g-sublevel .g-dropdown { + top: 0; +} + +#g-mobilemenu-container .g-menu-item-container { + -webkit-transition: -webkit-transform 0.2s ease-out; + -moz-transition: -moz-transform 0.2s ease-out; + transition: transform 0.2s ease-out; +} + +#g-mobilemenu-container .g-toplevel.g-slide-out>.g-menu-item>.g-menu-item-container, +#g-mobilemenu-container .g-toplevel.g-slide-out>.g-go-back>.g-menu-item-container, +#g-mobilemenu-container .g-sublevel.g-slide-out>.g-menu-item>.g-menu-item-container, +#g-mobilemenu-container .g-sublevel.g-slide-out>.g-go-back>.g-menu-item-container { + -webkit-transform: translateX(-100%); + -moz-transform: translateX(-100%); + -ms-transform: translateX(-100%); + -o-transform: translateX(-100%); + transform: translateX(-100%); +} + +#g-mobilemenu-container .g-menu-item-subtitle { + line-height: 1.5; +} + +#g-mobilemenu-container i { + float: left; + line-height: 1.4rem; + margin-right: 0.3rem; +} + +.g-menu-overlay.g-menu-overlay-open { + z-index: 2; + position: fixed; + opacity: 1; + height: 100vh; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0.75rem 0 1.5rem 0; + text-rendering: optimizeLegibility; +} + +p { + margin: 1.5rem 0; +} + +ul, +ol, +dl { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +ul ul, +ul ol, +ul dl, +ol ul, +ol ol, +ol dl, +dl ul, +dl ol, +dl dl { + margin-top: 0; + margin-bottom: 0; +} + +ul { + margin-left: 1.5rem; + padding: 0; +} + +dl { + padding: 0; +} + +ol { + padding-left: 1.5rem; +} + +blockquote { + margin: 1.5rem 0; + padding-left: 0.75rem; +} + +cite { + display: block; +} + +cite:before { + content: "\2014 \0020"; +} + +pre { + margin: 1.5rem 0; + padding: 0.938rem; +} + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.5rem 0; +} + +fieldset { + border: 0; + padding: 0.938rem; + margin: 0 0 1.5rem 0; +} + +label { + margin-bottom: 0.375rem; +} + +label abbr { + display: none; +} + +textarea, +select[multiple=multiple] { + -webkit-transition: border-color; + -moz-transition: border-color; + transition: border-color; + padding: 0.375rem 0.375rem; +} + +textarea:focus, +select[multiple=multiple]:focus { + outline: none; +} + +input[type="color"], +input[type="date"], +input[type="datetime"], +input[type="datetime-local"], +input[type="email"], +input[type="month"], +input[type="number"], +input[type="password"], +input[type="search"], +input[type="tel"], +input[type="text"], +input[type="time"], +input[type="url"], +input[type="week"], +input:not([type]), +textarea { + -webkit-transition: border-color; + -moz-transition: border-color; + transition: border-color; + padding: 0.375rem 0.375rem; +} + +input[type="color"]:focus, +input[type="date"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="email"]:focus, +input[type="month"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="text"]:focus, +input[type="time"]:focus, +input[type="url"]:focus, +input[type="week"]:focus, +input:not([type]):focus, +textarea:focus { + outline: none; +} + +textarea { + resize: vertical; +} + +input[type="checkbox"], +input[type="radio"] { + display: inline; + margin-right: 0.375rem; +} + +input[type="file"] { + width: 100%; +} + +select { + max-width: 100%; + margin-bottom: 1.5rem; +} + +button, +input[type="submit"] { + cursor: pointer; + user-select: none; + vertical-align: middle; + white-space: nowrap; + border: inherit; +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.hide, +body .g-offcanvas-hide { + display: none; +} + +.clearfix::after { + clear: both; + content: ""; + display: table; +} + +.center { + text-align: center !important; +} + +.align-right { + text-align: right !important; +} + +.align-left { + text-align: left !important; +} + +.full-height { + min-height: 100vh; +} + +.nomarginall { + margin: 0 !important; +} + +.nomarginall .g-content { + margin: 0 !important; +} + +.nomargintop { + margin-top: 0 !important; +} + +.nomargintop .g-content { + margin-top: 0 !important; +} + +.nomarginbottom { + margin-bottom: 0 !important; +} + +.nomarginbottom .g-content { + margin-bottom: 0 !important; +} + +.nomarginleft { + margin-left: 0 !important; +} + +.nomarginleft .g-content { + margin-left: 0 !important; +} + +.nomarginright { + margin-right: 0 !important; +} + +.nomarginright .g-content { + margin-right: 0 !important; +} + +.nopaddingall { + padding: 0 !important; +} + +.nopaddingall .g-content { + padding: 0 !important; +} + +.nopaddingtop { + padding-top: 0 !important; +} + +.nopaddingtop .g-content { + padding-top: 0 !important; +} + +.nopaddingbottom { + padding-bottom: 0 !important; +} + +.nopaddingbottom .g-content { + padding-bottom: 0 !important; +} + +.nopaddingleft { + padding-left: 0 !important; +} + +.nopaddingleft .g-content { + padding-left: 0 !important; +} + +.nopaddingright { + padding-right: 0 !important; +} + +.nopaddingright .g-content { + padding-right: 0 !important; +} + +.g-flushed { + padding: 0 !important; +} + +.g-flushed .g-content { + padding: 0; + margin: 0; +} + +.g-flushed .g-container { + width: 100%; +} + +.full-width { + -webkit-flex-grow: 0; + -moz-flex-grow: 0; + flex-grow: 0; + -ms-flex-positive: 0; + -webkit-flex-basis: 100%; + -moz-flex-basis: 100%; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; +} + +.full-width .g-block { + -webkit-flex-grow: 0; + -moz-flex-grow: 0; + flex-grow: 0; + -ms-flex-positive: 0; + -webkit-flex-basis: 100%; + -moz-flex-basis: 100%; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; +} + +.hidden { + display: none; + visibility: hidden; +} + +@media print { + .visible-print { + display: inherit !important; + } + .g-block.visible-print { + display: block !important; + } + .hidden-print { + display: none !important; + } +} + +.equal-height { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; +} + +.equal-height .g-content { + width: 100%; +} + +#g-offcanvas { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + text-align: left; + display: none; + -webkit-overflow-scrolling: touch; +} + +.g-offcanvas-toggle { + display: block; + position: absolute; + top: 0.7rem; + left: 0.7rem; + z-index: 10; + line-height: 1; + cursor: pointer; +} + +.g-offcanvas-active { + overflow-x: hidden; +} + +.g-offcanvas-open { + overflow: hidden; +} + +.g-offcanvas-open body, +.g-offcanvas-open #g-page-surround { + overflow: hidden; +} + +.g-offcanvas-open .g-nav-overlay { + z-index: 15; + position: absolute; + opacity: 1; + height: 100%; +} + +.g-offcanvas-open #g-offcanvas { + display: block; +} + +.g-offcanvas-left #g-page-surround { + left: 0; +} + +.g-offcanvas-right #g-offcanvas { + left: inherit; +} + +.g-offcanvas-right .g-offcanvas-toggle { + left: inherit; + right: 0.7rem; +} + +.g-offcanvas-right #g-page-surround { + right: 0; +} + +.g-offcanvas-left #g-offcanvas { + right: inherit; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/desktop.ini b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/gantry5/engines/nucleus/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/css/desktop.ini b/src/main/resources/saref-portal-generator/public/media/jui/css/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/css/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/css/icomoon.css b/src/main/resources/saref-portal-generator/public/media/jui/css/icomoon.css new file mode 100644 index 0000000000000000000000000000000000000000..d2a94eb0112c06156a28b2ae3d92043400b5eb6f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/css/icomoon.css @@ -0,0 +1,951 @@ +@font-face { + font-family: 'IcoMoon'; + src: url('../fonts/IcoMoon.eot'); + src: url('../fonts/IcoMoon.eot?#iefix') format('embedded-opentype'), url('../fonts/IcoMoon.svg#IcoMoon') format('svg'), url('../fonts/IcoMoon.woff') format('woff'), url('../fonts/IcoMoon.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +[data-icon]:before { + font-family: 'IcoMoon'; + content: attr(data-icon); + speak: none; +} + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + *margin-right: .3em; + line-height: 14px; +} + +[class^="icon-"]:before, +[class*=" icon-"]:before { + font-family: 'IcoMoon'; + font-style: normal; + speak: none; +} + +[class^="icon-"].disabled, +[class*=" icon-"].disabled { + font-weight: normal; +} + +.icon-joomla:before { + content: "\e200"; +} + +.icon-chevron-up:before, +.icon-uparrow:before, +.icon-arrow-up:before { + content: "\e005"; +} + +.icon-chevron-right:before, +.icon-rightarrow:before, +.icon-arrow-right:before { + content: "\e006"; +} + +.icon-chevron-down:before, +.icon-downarrow:before, +.icon-arrow-down:before { + content: "\e007"; +} + +.icon-chevron-left:before, +.icon-leftarrow:before, +.icon-arrow-left:before { + content: "\e008"; +} + +.icon-arrow-first:before { + content: "\e003"; +} + +.icon-arrow-last:before { + content: "\e004"; +} + +.icon-arrow-up-2:before { + content: "\e009"; +} + +.icon-arrow-right-2:before { + content: "\e00a"; +} + +.icon-arrow-down-2:before { + content: "\e00b"; +} + +.icon-arrow-left-2:before { + content: "\e00c"; +} + +.icon-arrow-up-3:before { + content: "\e00f"; +} + +.icon-arrow-right-3:before { + content: "\e010"; +} + +.icon-arrow-down-3:before { + content: "\e011"; +} + +.icon-arrow-left-3:before { + content: "\e012"; +} + +.icon-menu-2:before { + content: "\e00e"; +} + +.icon-arrow-up-4:before { + content: "\e201"; +} + +.icon-arrow-right-4:before { + content: "\e202"; +} + +.icon-arrow-down-4:before { + content: "\e203"; +} + +.icon-arrow-left-4:before { + content: "\e204"; +} + +.icon-share:before, +.icon-redo:before { + content: "\27"; +} + +.icon-undo:before { + content: "\28"; +} + +.icon-forward-2:before { + content: "\e205"; +} + +.icon-backward-2:before, +.icon-reply:before { + content: "\e206"; +} + +.icon-unblock:before, +.icon-refresh:before, +.icon-redo-2:before { + content: "\6c"; +} + +.icon-undo-2:before { + content: "\e207"; +} + +.icon-move:before { + content: "\7a"; +} + +.icon-expand:before { + content: "\66"; +} + +.icon-contract:before { + content: "\67"; +} + +.icon-expand-2:before { + content: "\68"; +} + +.icon-contract-2:before { + content: "\69"; +} + +.icon-play:before { + content: "\e208"; +} + +.icon-pause:before { + content: "\e209"; +} + +.icon-stop:before { + content: "\e210"; +} + +.icon-previous:before, +.icon-backward:before { + content: "\7c"; +} + +.icon-next:before, +.icon-forward:before { + content: "\7b"; +} + +.icon-first:before { + content: "\7d"; +} + +.icon-last:before { + content: "\e000"; +} + +.icon-play-circle:before { + content: "\e00d"; +} + +.icon-pause-circle:before { + content: "\e211"; +} + +.icon-stop-circle:before { + content: "\e212"; +} + +.icon-backward-circle:before { + content: "\e213"; +} + +.icon-forward-circle:before { + content: "\e214"; +} + +.icon-loop:before { + content: "\e001"; +} + +.icon-shuffle:before { + content: "\e002"; +} + +.icon-search:before { + content: "\53"; +} + +.icon-zoom-in:before { + content: "\64"; +} + +.icon-zoom-out:before { + content: "\65"; +} + +.icon-apply:before, +.icon-edit:before, +.icon-pencil:before { + content: "\2b"; +} + +.icon-pencil-2:before { + content: "\2c"; +} + +.icon-brush:before { + content: "\3b"; +} + +.icon-save-new:before, +.icon-plus-2:before { + content: "\5d"; +} + +.icon-minus-sign:before, +.icon-minus-2:before { + content: "\5e"; +} + +.icon-delete:before, +.icon-remove:before, +.icon-cancel-2:before { + content: "\49"; +} + +.icon-publish:before, +.icon-save:before, +.icon-ok:before, +.icon-checkmark:before { + content: "\47"; +} + +.icon-new:before, +.icon-plus:before { + content: "\2a"; +} + +.icon-plus-circle:before { + content: "\e215"; +} + +.icon-minus:before, +.icon-not-ok:before { + content: "\4b"; +} + +.icon-ban-circle:before, +.icon-minus-circle:before { + content: "\e216"; +} + +.icon-unpublish:before, +.icon-cancel:before { + content: "\4a"; +} + +.icon-cancel-circle:before { + content: "\e217"; +} + +.icon-checkmark-2:before { + content: "\e218"; +} + +.icon-checkmark-circle:before { + content: "\e219"; +} + +.icon-info:before { + content: "\e220"; +} + +.icon-info-2:before, +.icon-info-circle:before { + content: "\e221"; +} + +.icon-question:before, +.icon-question-sign:before, +.icon-help:before { + content: "\45"; +} + +.icon-question-2:before, +.icon-question-circle:before { + content: "\e222"; +} + +.icon-notification:before { + content: "\e223"; +} + +.icon-notification-2:before, +.icon-notification-circle:before { + content: "\e224"; +} + +.icon-pending:before, +.icon-warning:before { + content: "\48"; +} + +.icon-warning-2:before, +.icon-warning-circle:before { + content: "\e225"; +} + +.icon-checkbox-unchecked:before { + content: "\3d"; +} + +.icon-checkin:before, +.icon-checkbox:before, +.icon-checkbox-checked:before { + content: "\3e"; +} + +.icon-checkbox-partial:before { + content: "\3f"; +} + +.icon-square:before { + content: "\e226"; +} + +.icon-radio-unchecked:before { + content: "\e227"; +} + +.icon-radio-checked:before { + content: "\e228"; +} + +.icon-circle:before { + content: "\e229"; +} + +.icon-signup:before { + content: "\e230"; +} + +.icon-grid:before, +.icon-grid-view:before { + content: "\58"; +} + +.icon-grid-2:before, +.icon-grid-view-2:before { + content: "\59"; +} + +.icon-menu:before { + content: "\5a"; +} + +.icon-list:before, +.icon-list-view:before { + content: "\31"; +} + +.icon-list-2:before { + content: "\e231"; +} + +.icon-menu-3:before { + content: "\e232"; +} + +.icon-folder-open:before, +.icon-folder:before { + content: "\2d"; +} + +.icon-folder-close:before, +.icon-folder-2:before { + content: "\2e"; +} + +.icon-folder-plus:before { + content: "\e234"; +} + +.icon-folder-minus:before { + content: "\e235"; +} + +.icon-folder-3:before { + content: "\e236"; +} + +.icon-folder-plus-2:before { + content: "\e237"; +} + +.icon-folder-remove:before { + content: "\e238"; +} + +.icon-file:before { + content: "\e016"; +} + +.icon-file-2:before { + content: "\e239"; +} + +.icon-file-add:before, +.icon-file-plus:before { + content: "\29"; +} + +.icon-file-minus:before { + content: "\e017"; +} + +.icon-file-check:before { + content: "\e240"; +} + +.icon-file-remove:before { + content: "\e241"; +} + +.icon-save-copy:before, +.icon-copy:before { + content: "\e018"; +} + +.icon-stack:before { + content: "\e242"; +} + +.icon-tree:before { + content: "\e243"; +} + +.icon-tree-2:before { + content: "\e244"; +} + +.icon-paragraph-left:before { + content: "\e246"; +} + +.icon-paragraph-center:before { + content: "\e247"; +} + +.icon-paragraph-right:before { + content: "\e248"; +} + +.icon-paragraph-justify:before { + content: "\e249"; +} + +.icon-screen:before { + content: "\e01c"; +} + +.icon-tablet:before { + content: "\e01d"; +} + +.icon-mobile:before { + content: "\e01e"; +} + +.icon-box-add:before { + content: "\51"; +} + +.icon-box-remove:before { + content: "\52"; +} + +.icon-download:before { + content: "\e021"; +} + +.icon-upload:before { + content: "\e022"; +} + +.icon-home:before { + content: "\21"; +} + +.icon-home-2:before { + content: "\e250"; +} + +.icon-out-2:before, +.icon-new-tab:before { + content: "\e024"; +} + +.icon-out-3:before, +.icon-new-tab-2:before { + content: "\e251"; +} + +.icon-link:before { + content: "\e252"; +} + +.icon-picture:before, +.icon-image:before { + content: "\2f"; +} + +.icon-pictures:before, +.icon-images:before { + content: "\30"; +} + +.icon-palette:before, +.icon-color-palette:before { + content: "\e014"; +} + +.icon-camera:before { + content: "\55"; +} + +.icon-camera-2:before, +.icon-video:before { + content: "\e015"; +} + +.icon-play-2:before, +.icon-video-2:before, +.icon-youtube:before { + content: "\56"; +} + +.icon-music:before { + content: "\57"; +} + +.icon-user:before { + content: "\22"; +} + +.icon-users:before { + content: "\e01f"; +} + +.icon-vcard:before { + content: "\6d"; +} + +.icon-address:before { + content: "\70"; +} + +.icon-share-alt:before, +.icon-out:before { + content: "\26"; +} + +.icon-enter:before { + content: "\e257"; +} + +.icon-exit:before { + content: "\e258"; +} + +.icon-comment:before, +.icon-comments:before { + content: "\24"; +} + +.icon-comments-2:before { + content: "\25"; +} + +.icon-quote:before, +.icon-quotes-left:before { + content: "\60"; +} + +.icon-quote-2:before, +.icon-quotes-right:before { + content: "\61"; +} + +.icon-quote-3:before, +.icon-bubble-quote:before { + content: "\e259"; +} + +.icon-phone:before { + content: "\e260"; +} + +.icon-phone-2:before { + content: "\e261"; +} + +.icon-envelope:before, +.icon-mail:before { + content: "\4d"; +} + +.icon-envelope-opened:before, +.icon-mail-2:before { + content: "\4e"; +} + +.icon-unarchive:before, +.icon-drawer:before { + content: "\4f"; +} + +.icon-archive:before, +.icon-drawer-2:before { + content: "\50"; +} + +.icon-briefcase:before { + content: "\e020"; +} + +.icon-tag:before { + content: "\e262"; +} + +.icon-tag-2:before { + content: "\e263"; +} + +.icon-tags:before { + content: "\e264"; +} + +.icon-tags-2:before { + content: "\e265"; +} + +.icon-options:before, +.icon-cog:before { + content: "\38"; +} + +.icon-cogs:before { + content: "\37"; +} + +.icon-screwdriver:before, +.icon-tools:before { + content: "\36"; +} + +.icon-wrench:before { + content: "\3a"; +} + +.icon-equalizer:before { + content: "\39"; +} + +.icon-dashboard:before { + content: "\78"; +} + +.icon-switch:before { + content: "\e266"; +} + +.icon-filter:before { + content: "\54"; +} + +.icon-purge:before, +.icon-trash:before { + content: "\4c"; +} + +.icon-checkedout:before, +.icon-lock:before, +.icon-locked:before { + content: "\23"; +} + +.icon-unlock:before { + content: "\e267"; +} + +.icon-key:before { + content: "\5f"; +} + +.icon-support:before { + content: "\46"; +} + +.icon-database:before { + content: "\62"; +} + +.icon-scissors:before { + content: "\e268"; +} + +.icon-health:before { + content: "\6a"; +} + +.icon-wand:before { + content: "\6b"; +} + +.icon-eye-open:before, +.icon-eye:before { + content: "\3c"; +} + +.icon-eye-close:before, +.icon-eye-blocked:before, +.icon-eye-2:before { + content: "\e269"; +} + +.icon-clock:before { + content: "\6e"; +} + +.icon-compass:before { + content: "\6f"; +} + +.icon-broadcast:before, +.icon-connection:before, +.icon-wifi:before { + content: "\e01b"; +} + +.icon-book:before { + content: "\e271"; +} + +.icon-lightning:before, +.icon-flash:before { + content: "\79"; +} + +.icon-print:before, +.icon-printer:before { + content: "\e013"; +} + +.icon-feed:before { + content: "\71"; +} + +.icon-calendar:before { + content: "\43"; +} + +.icon-calendar-2:before { + content: "\44"; +} + +.icon-calendar-3:before { + content: "\e273"; +} + +.icon-pie:before { + content: "\77"; +} + +.icon-bars:before { + content: "\76"; +} + +.icon-chart:before { + content: "\75"; +} + +.icon-power-cord:before { + content: "\32"; +} + +.icon-cube:before { + content: "\33"; +} + +.icon-puzzle:before { + content: "\34"; +} + +.icon-attachment:before, +.icon-paperclip:before, +.icon-flag-2:before { + content: "\72"; +} + +.icon-lamp:before { + content: "\74"; +} + +.icon-pin:before, +.icon-pushpin:before { + content: "\73"; +} + +.icon-location:before { + content: "\63"; +} + +.icon-shield:before { + content: "\e274"; +} + +.icon-flag:before { + content: "\35"; +} + +.icon-flag-3:before { + content: "\e275"; +} + +.icon-bookmark:before { + content: "\e023"; +} + +.icon-bookmark-2:before { + content: "\e276"; +} + +.icon-heart:before { + content: "\e277"; +} + +.icon-heart-2:before { + content: "\e278"; +} + +.icon-thumbs-up:before { + content: "\5b"; +} + +.icon-thumbs-down:before { + content: "\5c"; +} + +.icon-unfeatured:before, +.icon-asterisk:before, +.icon-star-empty:before { + content: "\40"; +} + +.icon-star-2:before { + content: "\41"; +} + +.icon-featured:before, +.icon-default:before, +.icon-star:before { + content: "\42"; +} + +.icon-smiley:before, +.icon-smiley-happy:before { + content: "\e279"; +} + +.icon-smiley-2:before, +.icon-smiley-happy-2:before { + content: "\e280"; +} + +.icon-smiley-sad:before { + content: "\e281"; +} + +.icon-smiley-sad-2:before { + content: "\e282"; +} + +.icon-smiley-neutral:before { + content: "\e283"; +} + +.icon-smiley-neutral-2:before { + content: "\e284"; +} + +.icon-cart:before { + content: "\e019"; +} + +.icon-basket:before { + content: "\e01a"; +} + +.icon-credit:before { + content: "\e286"; +} + +.icon-credit-2:before { + content: "\e287"; +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/desktop.ini b/src/main/resources/saref-portal-generator/public/media/jui/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/js/bootstrap.min.js b/src/main/resources/saref-portal-generator/public/media/jui/js/bootstrap.min.js new file mode 100644 index 0000000000000000000000000000000000000000..e894760cbd4f1190590bc3d7b3d0efc5e2e811cc --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/js/bootstrap.min.js @@ -0,0 +1,923 @@ +/*! + * Bootstrap.js by @fat & @mdo + * Copyright 2012 Twitter, Inc. + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Custom version for Joomla! + */ +! function(e) { + "use strict"; + e(function() { + e.support.transition = function() { + var e = function() { + var e = document.createElement("bootstrap"), + t = { + WebkitTransition: "webkitTransitionEnd", + MozTransition: "transitionend", + OTransition: "oTransitionEnd otransitionend", + transition: "transitionend" + }, + n; + for (n in t) + if (e.style[n] !== undefined) return t[n] + }(); + return e && { + end: e + } + }() + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = '[data-dismiss="alert"]', + n = function(n) { + e(n).on("click", t, this.close) + }; + n.prototype.close = function(t) { + function s() { + i.trigger("closed").remove() + } + var n = e(this), + r = n.attr("data-target"), + i; + r || (r = n.attr("href"), r = r && r.replace(/.*(?=#[^\s]*$)/, "")), i = e(r), t && t.preventDefault(), i.length || (i = n.hasClass("alert") ? n : n.parent()), i.trigger(t = e.Event("close")); + if (t.isDefaultPrevented()) return; + i.removeClass("in"), e.support.transition && i.hasClass("fade") ? i.on(e.support.transition.end, s) : s() + }; + var r = e.fn.alert; + e.fn.alert = function(t) { + return this.each(function() { + var r = e(this), + i = r.data("alert"); + i || r.data("alert", i = new n(this)), typeof t == "string" && i[t].call(r) + }) + }, e.fn.alert.Constructor = n, e.fn.alert.noConflict = function() { + return e.fn.alert = r, this + }, e(document).on("click.alert.data-api", t, n.prototype.close) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t, n) { + this.$element = e(t), this.options = e.extend({}, e.fn.button.defaults, n) + }; + t.prototype.setState = function(e) { + var t = "disabled", + n = this.$element, + r = n.data(), + i = n.is("input") ? "val" : "html"; + e += "Text", r.resetText || n.data("resetText", n[i]()), n[i](r[e] || this.options[e]), setTimeout(function() { + e == "loadingText" ? n.addClass(t).attr(t, t) : n.removeClass(t).removeAttr(t) + }, 0) + }, t.prototype.toggle = function() { + var e = this.$element.closest('[data-toggle="buttons-radio"]'); + e && e.find(".active").removeClass("active"), this.$element.toggleClass("active") + }; + var n = e.fn.button; + e.fn.button = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("button"), + s = typeof n == "object" && n; + i || r.data("button", i = new t(this, s)), n == "toggle" ? i.toggle() : n && i.setState(n) + }) + }, e.fn.button.defaults = { + loadingText: "loading..." + }, e.fn.button.Constructor = t, e.fn.button.noConflict = function() { + return e.fn.button = n, this + }, e(document).on("click.button.data-api", "[data-toggle^=button]", function(t) { + var n = e(t.target); + n.hasClass("btn") || (n = n.closest(".btn")), n.button("toggle") + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t, n) { + this.$element = e(t), this.$indicators = this.$element.find(".carousel-indicators"), this.options = n, this.options.pause == "hover" && this.$element.on("mouseenter", e.proxy(this.pause, this)).on("mouseleave", e.proxy(this.cycle, this)) + }; + t.prototype = { + cycle: function(t) { + return t || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(e.proxy(this.next, this), this.options.interval)), this + }, + getActiveIndex: function() { + return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active) + }, + to: function(t) { + var n = this.getActiveIndex(), + r = this; + if (t > this.$items.length - 1 || t < 0) return; + return this.sliding ? this.$element.one("slid", function() { + r.to(t) + }) : n == t ? this.pause().cycle() : this.slide(t > n ? "next" : "prev", e(this.$items[t])) + }, + pause: function(t) { + return t || (this.paused = !0), this.$element.find(".next, .prev").length && e.support.transition.end && (this.$element.trigger(e.support.transition.end), this.cycle(!0)), clearInterval(this.interval), this.interval = null, this + }, + next: function() { + if (this.sliding) return; + return this.slide("next") + }, + prev: function() { + if (this.sliding) return; + return this.slide("prev") + }, + slide: function(t, n) { + var r = this.$element.find(".item.active"), + i = n || r[t](), + s = this.interval, + o = t == "next" ? "left" : "right", + u = t == "next" ? "first" : "last", + a = this, + f; + this.sliding = !0, s && this.pause(), i = i.length ? i : this.$element.find(".item")[u](), f = e.Event("slide", { + relatedTarget: i[0], + direction: o + }); + if (i.hasClass("active")) return; + this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid", function() { + var t = e(a.$indicators.children()[a.getActiveIndex()]); + t && t.addClass("active") + })); + if (e.support.transition && this.$element.hasClass("slide")) { + this.$element.trigger(f); + if (f.isDefaultPrevented()) return; + i.addClass(t), i[0].offsetWidth, r.addClass(o), i.addClass(o), this.$element.one(e.support.transition.end, function() { + i.removeClass([t, o].join(" ")).addClass("active"), r.removeClass(["active", o].join(" ")), a.sliding = !1, setTimeout(function() { + a.$element.trigger("slid") + }, 0) + }) + } else { + this.$element.trigger(f); + if (f.isDefaultPrevented()) return; + r.removeClass("active"), i.addClass("active"), this.sliding = !1, this.$element.trigger("slid") + } + return s && this.cycle(), this + } + }; + var n = e.fn.carousel; + e.fn.carousel = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("carousel"), + s = e.extend({}, e.fn.carousel.defaults, typeof n == "object" && n), + o = typeof n == "string" ? n : s.slide; + i || r.data("carousel", i = new t(this, s)), typeof n == "number" ? i.to(n) : o ? i[o]() : s.interval && i.pause().cycle() + }) + }, e.fn.carousel.defaults = { + interval: 5e3, + pause: "hover" + }, e.fn.carousel.Constructor = t, e.fn.carousel.noConflict = function() { + return e.fn.carousel = n, this + }, e(document).on("click.carousel.data-api", "[data-slide], [data-slide-to]", function(t) { + var n = e(this), + r, i = e(n.attr("data-target") || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, "")), + s = e.extend({}, i.data(), n.data()), + o; + i.carousel(s), (o = n.attr("data-slide-to")) && i.data("carousel").pause().to(o).cycle(), t.preventDefault() + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t, n) { + this.$element = e(t), this.options = e.extend({}, e.fn.collapse.defaults, n), this.options.parent && (this.$parent = e(this.options.parent)), this.options.toggle && this.toggle() + }; + t.prototype = { + constructor: t, + dimension: function() { + var e = this.$element.hasClass("width"); + return e ? "width" : "height" + }, + show: function() { + var t, n, r, i; + if (this.transitioning || this.$element.hasClass("in")) return; + t = this.dimension(), n = e.camelCase(["scroll", t].join("-")), r = this.$parent && this.$parent.find("> .accordion-group > .in"); + if (r && r.length) { + i = r.data("collapse"); + if (i && i.transitioning) return; + r.collapse("hide"), i || r.data("collapse", null) + } + this.$element[t](0), this.transition("addClass", e.Event("show"), "shown"), e.support.transition && this.$element[t](this.$element[0][n]) + }, + hide: function() { + var t; + if (this.transitioning || !this.$element.hasClass("in")) return; + t = this.dimension(), this.reset(this.$element[t]()), this.transition("removeClass", e.Event("hideme"), "hidden"), this.$element[t](0) + }, + reset: function(e) { + var t = this.dimension(); + return this.$element.removeClass("collapse")[t](e || "auto")[0].offsetWidth, this.$element[e !== null ? "addClass" : "removeClass"]("collapse"), this + }, + transition: function(t, n, r) { + var i = this, + s = function() { + n.type == "show" && i.reset(), i.transitioning = 0, i.$element.trigger(r) + }; + this.$element.trigger(n); + if (n.isDefaultPrevented()) return; + this.transitioning = 1, this.$element[t]("in"), e.support.transition && this.$element.hasClass("collapse") ? this.$element.one(e.support.transition.end, s) : s() + }, + toggle: function() { + this[this.$element.hasClass("in") ? "hide" : "show"]() + } + }; + var n = e.fn.collapse; + e.fn.collapse = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("collapse"), + s = e.extend({}, e.fn.collapse.defaults, r.data(), typeof n == "object" && n); + i || r.data("collapse", i = new t(this, s)), typeof n == "string" && i[n]() + }) + }, e.fn.collapse.defaults = { + toggle: !0 + }, e.fn.collapse.Constructor = t, e.fn.collapse.noConflict = function() { + return e.fn.collapse = n, this + }, e(document).on("click.collapse.data-api", "[data-toggle=collapse]", function(t) { + var n = e(this), + r, i = n.attr("data-target") || t.preventDefault() || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, ""), + s = e(i).data("collapse") ? "toggle" : n.data(); + n[e(i).hasClass("in") ? "addClass" : "removeClass"]("collapsed"), e(i).collapse(s) + }) +}(window.jQuery), ! function(e) { + "use strict"; + + function r() { + e(t).parent().parent().removeClass("nav-hover"), e(".dropdown-backdrop").remove(), e(t).each(function() { + i(e(this)).removeClass("open") + }) + } + + function i(t) { + var n = t.attr("data-target"), + r; + n || (n = t.attr("href"), n = n && /#/.test(n) && n.replace(/.*(?=#[^\s]*$)/, "")), r = n && e(n); + if (!r || !r.length) r = t.parent(); + return r + } + var t = "[data-toggle=dropdown]", + n = function(t) { + var n = e(t).on("click.dropdown.data-api", this.toggle).on("mouseover.dropdown.data-api", this.toggle); + e("html").on("click.dropdown.data-api", function() { + n.parent().parent().removeClass("nav-hover"), n.parent().removeClass("open") + }) + }; + n.prototype = { + constructor: n, + toggle: function(t) { + var n = e(this), + s, o, u, a; + if (n.is(".disabled, :disabled")) return; + s = i(n), o = s.hasClass("open"), a = s.parent().hasClass("nav-hover"); + if (!a && t.type == "mouseover") return; + u = n.attr("href"); + if (t.type == "click" && u && u !== "#") { + window.location = u; + return + } + r(); + if (!o && t.type != "mouseover" || a && t.type == "mouseover") "ontouchstart" in document.documentElement && (e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click", r), n.on("hover", function() { + e(".dropdown-backdrop").remove() + })), s.parent().toggleClass("nav-hover"), s.toggleClass("open"); + return n.focus(), !1 + }, + keydown: function(n) { + var r, s, o, u, a, f; + if (!/(38|40|27)/.test(n.keyCode)) return; + r = e(this), n.preventDefault(), n.stopPropagation(); + if (r.is(".disabled, :disabled")) return; + u = i(r), a = u.hasClass("open"); + if (!a || a && n.keyCode == 27) return n.which == 27 && u.find(t).focus(), r.click(); + s = e("[role=menu] li:not(.divider):visible a", u); + if (!s.length) return; + f = s.index(s.filter(":focus")), n.keyCode == 38 && f > 0 && f--, n.keyCode == 40 && f < s.length - 1 && f++, ~f || (f = 0), s.eq(f).focus() + } + }; + var s = e.fn.dropdown; + e.fn.dropdown = function(t) { + return this.each(function() { + var r = e(this), + i = r.data("dropdown"); + i || r.data("dropdown", i = new n(this)), typeof t == "string" && i[t].call(r) + }) + }, e.fn.dropdown.Constructor = n, e.fn.dropdown.noConflict = function() { + return e.fn.dropdown = s, this + }, e(document).on("click.dropdown.data-api", r).on("click.dropdown.data-api", ".dropdown form", function(e) { + e.stopPropagation() + }).on("click.dropdown.data-api", t, n.prototype.toggle).on("keydown.dropdown.data-api", t + ", [role=menu]", n.prototype.keydown).on("mouseover.dropdown.data-api", t, n.prototype.toggle) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t, n) { + this.options = n, this.$element = e(t).delegate('[data-dismiss="modal"]', "click.dismiss.modal", e.proxy(this.hide, this)), this.options.remote && this.$element.find(".modal-body").load(this.options.remote) + }; + t.prototype = { + constructor: t, + toggle: function() { + return this[this.isShown ? "hide" : "show"]() + }, + show: function() { + var t = this, + n = e.Event("show"); + this.$element.trigger(n); + if (this.isShown || n.isDefaultPrevented()) return; + this.isShown = !0, this.escape(), this.backdrop(function() { + var n = e.support.transition && t.$element.hasClass("fade"); + t.$element.parent().length || t.$element.appendTo(document.body), t.$element.show(), n && t.$element[0].offsetWidth, t.$element.addClass("in").attr("aria-hidden", !1), t.enforceFocus(), n ? t.$element.one(e.support.transition.end, function() { + t.$element.focus().trigger("shown") + }) : t.$element.focus().trigger("shown") + }) + }, + hide: function(t) { + t && t.preventDefault(); + var n = this; + t = e.Event("hide"), this.$element.trigger(t); + if (!this.isShown || t.isDefaultPrevented()) return; + this.isShown = !1, this.escape(), e(document).off("focusin.modal"), this.$element.removeClass("in").attr("aria-hidden", !0), e.support.transition && this.$element.hasClass("fade") ? this.hideWithTransition() : this.hideModal() + }, + enforceFocus: function() { + var t = this; + e(document).on("focusin.modal", function(e) { + t.$element[0] !== e.target && !t.$element.has(e.target).length && t.$element.focus() + }) + }, + escape: function() { + var e = this; + this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.modal", function(t) { + t.which == 27 && e.hide() + }) : this.isShown || this.$element.off("keyup.dismiss.modal") + }, + hideWithTransition: function() { + var t = this, + n = setTimeout(function() { + t.$element.off(e.support.transition.end), t.hideModal() + }, 500); + this.$element.one(e.support.transition.end, function() { + clearTimeout(n), t.hideModal() + }) + }, + hideModal: function() { + var e = this; + this.$element.hide(), this.backdrop(function() { + e.removeBackdrop(), e.$element.trigger("hidden") + }) + }, + removeBackdrop: function() { + this.$backdrop && this.$backdrop.remove(), this.$backdrop = null + }, + backdrop: function(t) { + var n = this, + r = this.$element.hasClass("fade") ? "fade" : ""; + if (this.isShown && this.options.backdrop) { + var i = e.support.transition && r; + this.$backdrop = e('<div class="modal-backdrop ' + r + '" />').appendTo(document.body), this.$backdrop.click(this.options.backdrop == "static" ? e.proxy(this.$element[0].focus, this.$element[0]) : e.proxy(this.hide, this)), i && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"); + if (!t) return; + i ? this.$backdrop.one(e.support.transition.end, t) : t() + } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), e.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(e.support.transition.end, t) : t()) : t && t() + } + }; + var n = e.fn.modal; + e.fn.modal = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("modal"), + s = e.extend({}, e.fn.modal.defaults, r.data(), typeof n == "object" && n); + i || r.data("modal", i = new t(this, s)), typeof n == "string" ? i[n]() : s.show && i.show() + }) + }, e.fn.modal.defaults = { + backdrop: !0, + keyboard: !0, + show: !0 + }, e.fn.modal.Constructor = t, e.fn.modal.noConflict = function() { + return e.fn.modal = n, this + }, e(document).on("click.modal.data-api", '[data-toggle="modal"]', function(t) { + var n = e(this), + r = n.attr("href"), + i = e(n.attr("data-target") || r && r.replace(/.*(?=#[^\s]+$)/, "")), + s = i.data("modal") ? "toggle" : e.extend({ + remote: !/#/.test(r) && r + }, i.data(), n.data()); + t.preventDefault(), i.modal(s).one("hide", function() { + n.focus() + }) + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(e, t) { + this.init("tooltip", e, t) + }; + t.prototype = { + constructor: t, + init: function(t, n, r) { + var i, s, o, u, a; + this.type = t, this.$element = e(n), this.options = this.getOptions(r), this.enabled = !0, o = this.options.trigger.split(" "); + for (a = o.length; a--;) u = o[a], u == "click" ? this.$element.on("click." + this.type, this.options.selector, e.proxy(this.toggle, this)) : u != "manual" && (i = u == "hover" ? "mouseenter" : "focus", s = u == "hover" ? "mouseleave" : "blur", this.$element.on(i + "." + this.type, this.options.selector, e.proxy(this.enter, this)), this.$element.on(s + "." + this.type, this.options.selector, e.proxy(this.leave, this))); + this.options.selector ? this._options = e.extend({}, this.options, { + trigger: "manual", + selector: "" + }) : this.fixTitle() + }, + getOptions: function(t) { + return t = e.extend({}, e.fn[this.type].defaults, this.$element.data(), t), t.delay && typeof t.delay == "number" && (t.delay = { + show: t.delay, + hide: t.delay + }), t + }, + enter: function(t) { + var n = e.fn[this.type].defaults, + r = {}, + i; + this._options && e.each(this._options, function(e, t) { + n[e] != t && (r[e] = t) + }, this), i = e(t.currentTarget)[this.type](r).data(this.type); + if (!i.options.delay || !i.options.delay.show) return i.show(); + clearTimeout(this.timeout), i.hoverState = "in", this.timeout = setTimeout(function() { + i.hoverState == "in" && i.show() + }, i.options.delay.show) + }, + leave: function(t) { + var n = e(t.currentTarget)[this.type](this._options).data(this.type); + this.timeout && clearTimeout(this.timeout); + if (!n.options.delay || !n.options.delay.hide) return n.hide(); + n.hoverState = "out", this.timeout = setTimeout(function() { + n.hoverState == "out" && n.hide() + }, n.options.delay.hide) + }, + show: function() { + var t, n, r, i, s, o, u = e.Event("show"); + if (this.hasContent() && this.enabled) { + this.$element.trigger(u); + if (u.isDefaultPrevented()) return; + t = this.tip(), this.setContent(), this.options.animation && t.addClass("fade"), s = typeof this.options.placement == "function" ? this.options.placement.call(this, t[0], this.$element[0]) : this.options.placement, t.detach().css({ + top: 0, + left: 0, + display: "block" + }), this.options.container ? t.appendTo(this.options.container) : t.insertAfter(this.$element), n = this.getPosition(), r = t[0].offsetWidth, i = t[0].offsetHeight; + switch (s) { + case "bottom": + o = { + top: n.top + n.height, + left: n.left + n.width / 2 - r / 2 + }; + break; + case "top": + o = { + top: n.top - i, + left: n.left + n.width / 2 - r / 2 + }; + break; + case "left": + o = { + top: n.top + n.height / 2 - i / 2, + left: n.left - r + }; + break; + case "right": + o = { + top: n.top + n.height / 2 - i / 2, + left: n.left + n.width + } + } + this.applyPlacement(o, s), this.$element.trigger("shown") + } + }, + applyPlacement: function(e, t) { + var n = this.tip(), + r = n[0].offsetWidth, + i = n[0].offsetHeight, + s, o, u, a; + n.offset(e).addClass(t).addClass("in"), s = n[0].offsetWidth, o = n[0].offsetHeight, t == "top" && o != i && (e.top = e.top + i - o, a = !0), t == "bottom" || t == "top" ? (u = 0, e.left < 0 && (u = e.left * -2, e.left = 0, n.offset(e), s = n[0].offsetWidth, o = n[0].offsetHeight), this.replaceArrow(u - r + s, s, "left")) : this.replaceArrow(o - i, o, "top"), a && n.offset(e) + }, + replaceArrow: function(e, t, n) { + this.arrow().css(n, e ? 50 * (1 - e / t) + "%" : "") + }, + setContent: function() { + var e = this.tip(), + t = this.getTitle(); + e.find(".tooltip-inner")[this.options.html ? "html" : "text"](t), e.removeClass("fade in top bottom left right") + }, + hide: function() { + function i() { + var t = setTimeout(function() { + n.off(e.support.transition.end).detach() + }, 500); + n.one(e.support.transition.end, function() { + clearTimeout(t), n.detach() + }) + } + var t = this, + n = this.tip(), + r = e.Event("hideme"); + this.$element.trigger(r); + if (r.isDefaultPrevented()) return; + return n.removeClass("in"), e.support.transition && this.$tip.hasClass("fade") ? i() : n.detach(), this.$element.trigger("hidden"), this + }, + fixTitle: function() { + var e = this.$element; + (e.attr("title") || typeof e.attr("data-original-title") != "string") && e.attr("data-original-title", e.attr("title") || "").attr("title", "") + }, + hasContent: function() { + return this.getTitle() + }, + getPosition: function() { + var t = this.$element[0]; + return e.extend({}, typeof t.getBoundingClientRect == "function" ? t.getBoundingClientRect() : { + width: t.offsetWidth, + height: t.offsetHeight + }, this.$element.offset()) + }, + getTitle: function() { + var e, t = this.$element, + n = this.options; + return e = t.attr("data-original-title") || (typeof n.title == "function" ? n.title.call(t[0]) : n.title), e + }, + tip: function() { + return this.$tip = this.$tip || e(this.options.template) + }, + arrow: function() { + return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") + }, + validate: function() { + this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null) + }, + enable: function() { + this.enabled = !0 + }, + disable: function() { + this.enabled = !1 + }, + toggleEnabled: function() { + this.enabled = !this.enabled + }, + toggle: function(t) { + var n = t ? e(t.currentTarget)[this.type](this._options).data(this.type) : this; + n.tip().hasClass("in") ? n.hide() : n.show() + }, + destroy: function() { + this.hide().$element.off("." + this.type).removeData(this.type) + } + }; + var n = e.fn.tooltip; + e.fn.tooltip = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("tooltip"), + s = typeof n == "object" && n; + i || r.data("tooltip", i = new t(this, s)), typeof n == "string" && i[n]() + }) + }, e.fn.tooltip.Constructor = t, e.fn.tooltip.defaults = { + animation: !0, + placement: "top", + selector: !1, + template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', + trigger: "hover focus", + title: "", + delay: 0, + html: !0, + container: !1 + }, e.fn.tooltip.noConflict = function() { + return e.fn.tooltip = n, this + } +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(e, t) { + this.init("popover", e, t) + }; + t.prototype = e.extend({}, e.fn.tooltip.Constructor.prototype, { + constructor: t, + setContent: function() { + var e = this.tip(), + t = this.getTitle(), + n = this.getContent(); + e.find(".popover-title")[this.options.html ? "html" : "text"](t), e.find(".popover-content")[this.options.html ? "html" : "text"](n), e.removeClass("fade top bottom left right in") + }, + hasContent: function() { + return this.getTitle() || this.getContent() + }, + getContent: function() { + var e, t = this.$element, + n = this.options; + return e = (typeof n.content == "function" ? n.content.call(t[0]) : n.content) || t.attr("data-content"), e + }, + tip: function() { + return this.$tip || (this.$tip = e(this.options.template)), this.$tip + }, + destroy: function() { + this.hide().$element.off("." + this.type).removeData(this.type) + } + }); + var n = e.fn.popover; + e.fn.popover = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("popover"), + s = typeof n == "object" && n; + i || r.data("popover", i = new t(this, s)), typeof n == "string" && i[n]() + }) + }, e.fn.popover.Constructor = t, e.fn.popover.defaults = e.extend({}, e.fn.tooltip.defaults, { + placement: "right", + trigger: "click", + content: "", + template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' + }), e.fn.popover.noConflict = function() { + return e.fn.popover = n, this + } +}(window.jQuery), ! function(e) { + "use strict"; + + function t(t, n) { + var r = e.proxy(this.process, this), + i = e(t).is("body") ? e(window) : e(t), + s; + this.options = e.extend({}, e.fn.scrollspy.defaults, n), this.$scrollElement = i.on("scroll.scroll-spy.data-api", r), this.selector = (this.options.target || (s = e(t).attr("href")) && s.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.$body = e("body"), this.refresh(), this.process() + } + t.prototype = { + constructor: t, + refresh: function() { + var t = this, + n; + this.offsets = e([]), this.targets = e([]), n = this.$body.find(this.selector).map(function() { + var n = e(this), + r = n.data("target") || n.attr("href"), + i = /^#\w/.test(r) && e(r); + return i && i.length && [ + [i.position().top + (!e.isWindow(t.$scrollElement.get(0)) && t.$scrollElement.scrollTop()), r] + ] || null + }).sort(function(e, t) { + return e[0] - t[0] + }).each(function() { + t.offsets.push(this[0]), t.targets.push(this[1]) + }) + }, + process: function() { + var e = this.$scrollElement.scrollTop() + this.options.offset, + t = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight, + n = t - this.$scrollElement.height(), + r = this.offsets, + i = this.targets, + s = this.activeTarget, + o; + if (e >= n) return s != (o = i.last()[0]) && this.activate(o); + for (o = r.length; o--;) s != i[o] && e >= r[o] && (!r[o + 1] || e <= r[o + 1]) && this.activate(i[o]) + }, + activate: function(t) { + var n, r; + this.activeTarget = t, e(this.selector).parent(".active").removeClass("active"), r = this.selector + '[data-target="' + t + '"],' + this.selector + '[href="' + t + '"]', n = e(r).parent("li").addClass("active"), n.parent(".dropdown-menu").length && (n = n.closest("li.dropdown").addClass("active")), n.trigger("activate") + } + }; + var n = e.fn.scrollspy; + e.fn.scrollspy = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("scrollspy"), + s = typeof n == "object" && n; + i || r.data("scrollspy", i = new t(this, s)), typeof n == "string" && i[n]() + }) + }, e.fn.scrollspy.Constructor = t, e.fn.scrollspy.defaults = { + offset: 10 + }, e.fn.scrollspy.noConflict = function() { + return e.fn.scrollspy = n, this + }, e(window).on("load", function() { + e('[data-spy="scroll"]').each(function() { + var t = e(this); + t.scrollspy(t.data()) + }) + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t) { + this.element = e(t) + }; + t.prototype = { + constructor: t, + show: function() { + var t = this.element, + n = t.closest("ul:not(.dropdown-menu)"), + r = t.attr("data-target"), + i, s, o; + r || (r = t.attr("href"), r = r && r.replace(/.*(?=#[^\s]*$)/, "")); + if (t.parent("li").hasClass("active")) return; + i = n.find(".active:last a")[0], o = e.Event("show", { + relatedTarget: i + }), t.trigger(o); + if (o.isDefaultPrevented()) return; + s = e(r), this.activate(t.parent("li"), n), this.activate(s, s.parent(), function() { + t.trigger({ + type: "shown", + relatedTarget: i + }) + }) + }, + activate: function(t, n, r) { + function o() { + i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), t.addClass("active"), s ? (t[0].offsetWidth, t.addClass("in")) : t.removeClass("fade"), t.parent(".dropdown-menu") && t.closest("li.dropdown").addClass("active"), r && r() + } + var i = n.find("> .active"), + s = r && e.support.transition && i.hasClass("fade"); + s ? i.one(e.support.transition.end, o) : o(), i.removeClass("in") + } + }; + var n = e.fn.tab; + e.fn.tab = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("tab"); + i || r.data("tab", i = new t(this)), typeof n == "string" && i[n]() + }) + }, e.fn.tab.Constructor = t, e.fn.tab.noConflict = function() { + return e.fn.tab = n, this + }, e(document).on("click.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function(t) { + t.preventDefault(), e(this).tab("show") + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t, n) { + this.$element = e(t), this.options = e.extend({}, e.fn.typeahead.defaults, n), this.matcher = this.options.matcher || this.matcher, this.sorter = this.options.sorter || this.sorter, this.highlighter = this.options.highlighter || this.highlighter, this.updater = this.options.updater || this.updater, this.source = this.options.source, this.$menu = e(this.options.menu), this.shown = !1, this.listen() + }; + t.prototype = { + constructor: t, + select: function() { + var e = this.$menu.find(".active").attr("data-value"); + return this.$element.val(this.updater(e)).change(), this.hide() + }, + updater: function(e) { + return e + }, + show: function() { + var t = e.extend({}, this.$element.position(), { + height: this.$element[0].offsetHeight + }); + return this.$menu.insertAfter(this.$element).css({ + top: t.top + t.height, + left: t.left + }).show(), this.shown = !0, this + }, + hide: function() { + return this.$menu.hide(), this.shown = !1, this + }, + lookup: function(t) { + var n; + return this.query = this.$element.val(), !this.query || this.query.length < this.options.minLength ? this.shown ? this.hide() : this : (n = e.isFunction(this.source) ? this.source(this.query, e.proxy(this.process, this)) : this.source, n ? this.process(n) : this) + }, + process: function(t) { + var n = this; + return t = e.grep(t, function(e) { + return n.matcher(e) + }), t = this.sorter(t), t.length ? this.render(t.slice(0, this.options.items)).show() : this.shown ? this.hide() : this + }, + matcher: function(e) { + return ~e.toLowerCase().indexOf(this.query.toLowerCase()) + }, + sorter: function(e) { + var t = [], + n = [], + r = [], + i; + while (i = e.shift()) i.toLowerCase().indexOf(this.query.toLowerCase()) ? ~i.indexOf(this.query) ? n.push(i) : r.push(i) : t.push(i); + return t.concat(n, r) + }, + highlighter: function(e) { + var t = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); + return e.replace(new RegExp("(" + t + ")", "ig"), function(e, t) { + return "<strong>" + t + "</strong>" + }) + }, + render: function(t) { + var n = this; + return t = e(t).map(function(t, r) { + return t = e(n.options.item).attr("data-value", r), t.find("a").html(n.highlighter(r)), t[0] + }), t.first().addClass("active"), this.$menu.html(t), this + }, + next: function(t) { + var n = this.$menu.find(".active").removeClass("active"), + r = n.next(); + r.length || (r = e(this.$menu.find("li")[0])), r.addClass("active") + }, + prev: function(e) { + var t = this.$menu.find(".active").removeClass("active"), + n = t.prev(); + n.length || (n = this.$menu.find("li").last()), n.addClass("active") + }, + listen: function() { + this.$element.on("focus", e.proxy(this.focus, this)).on("blur", e.proxy(this.blur, this)).on("keypress", e.proxy(this.keypress, this)).on("keyup", e.proxy(this.keyup, this)), this.eventSupported("keydown") && this.$element.on("keydown", e.proxy(this.keydown, this)), this.$menu.on("click", e.proxy(this.click, this)).on("mouseenter", "li", e.proxy(this.mouseenter, this)).on("mouseleave", "li", e.proxy(this.mouseleave, this)) + }, + eventSupported: function(e) { + var t = e in this.$element; + return t || (this.$element.setAttribute(e, "return;"), t = typeof this.$element[e] == "function"), t + }, + move: function(e) { + if (!this.shown) return; + switch (e.keyCode) { + case 9: + case 13: + case 27: + e.preventDefault(); + break; + case 38: + e.preventDefault(), this.prev(); + break; + case 40: + e.preventDefault(), this.next() + } + e.stopPropagation() + }, + keydown: function(t) { + this.suppressKeyPressRepeat = ~e.inArray(t.keyCode, [40, 38, 9, 13, 27]), this.move(t) + }, + keypress: function(e) { + if (this.suppressKeyPressRepeat) return; + this.move(e) + }, + keyup: function(e) { + switch (e.keyCode) { + case 40: + case 38: + case 16: + case 17: + case 18: + break; + case 9: + case 13: + if (!this.shown) return; + this.select(); + break; + case 27: + if (!this.shown) return; + this.hide(); + break; + default: + this.lookup() + } + e.stopPropagation(), e.preventDefault() + }, + focus: function(e) { + this.focused = !0 + }, + blur: function(e) { + this.focused = !1, !this.mousedover && this.shown && this.hide() + }, + click: function(e) { + e.stopPropagation(), e.preventDefault(), this.select(), this.$element.focus() + }, + mouseenter: function(t) { + this.mousedover = !0, this.$menu.find(".active").removeClass("active"), e(t.currentTarget).addClass("active") + }, + mouseleave: function(e) { + this.mousedover = !1, !this.focused && this.shown && this.hide() + } + }; + var n = e.fn.typeahead; + e.fn.typeahead = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("typeahead"), + s = typeof n == "object" && n; + i || r.data("typeahead", i = new t(this, s)), typeof n == "string" && i[n]() + }) + }, e.fn.typeahead.defaults = { + source: [], + items: 8, + menu: '<ul class="typeahead dropdown-menu"></ul>', + item: '<li><a href="#"></a></li>', + minLength: 1 + }, e.fn.typeahead.Constructor = t, e.fn.typeahead.noConflict = function() { + return e.fn.typeahead = n, this + }, e(document).on("focus.typeahead.data-api", '[data-provide="typeahead"]', function(t) { + var n = e(this); + if (n.data("typeahead")) return; + n.typeahead(n.data()) + }) +}(window.jQuery), ! function(e) { + "use strict"; + var t = function(t, n) { + this.options = e.extend({}, e.fn.affix.defaults, n), this.$window = e(window).on("scroll.affix.data-api", e.proxy(this.checkPosition, this)).on("click.affix.data-api", e.proxy(function() { + setTimeout(e.proxy(this.checkPosition, this), 1) + }, this)), this.$element = e(t), this.checkPosition() + }; + t.prototype.checkPosition = function() { + if (!this.$element.is(":visible")) return; + var t = e(document).height(), + n = this.$window.scrollTop(), + r = this.$element.offset(), + i = this.options.offset, + s = i.bottom, + o = i.top, + u = "affix affix-top affix-bottom", + a; + typeof i != "object" && (s = o = i), typeof o == "function" && (o = i.top()), typeof s == "function" && (s = i.bottom()), a = this.unpin != null && n + this.unpin <= r.top ? !1 : s != null && r.top + this.$element.height() >= t - s ? "bottom" : o != null && n <= o ? "top" : !1; + if (this.affixed === a) return; + this.affixed = a, this.unpin = a == "bottom" ? r.top - n : null, this.$element.removeClass(u).addClass("affix" + (a ? "-" + a : "")) + }; + var n = e.fn.affix; + e.fn.affix = function(n) { + return this.each(function() { + var r = e(this), + i = r.data("affix"), + s = typeof n == "object" && n; + i || r.data("affix", i = new t(this, s)), typeof n == "string" && i[n]() + }) + }, e.fn.affix.Constructor = t, e.fn.affix.defaults = { + offset: 0 + }, e.fn.affix.noConflict = function() { + return e.fn.affix = n, this + }, e(window).on("load", function() { + e('[data-spy="affix"]').each(function() { + var t = e(this), + n = t.data(); + n.offset = n.offset || {}, n.offsetBottom && (n.offset.bottom = n.offsetBottom), n.offsetTop && (n.offset.top = n.offsetTop), t.affix(n) + }) + }) +}(window.jQuery); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/js/desktop.ini b/src/main/resources/saref-portal-generator/public/media/jui/js/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/js/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/js/jquery-migrate.min.js b/src/main/resources/saref-portal-generator/public/media/jui/js/jquery-migrate.min.js new file mode 100644 index 0000000000000000000000000000000000000000..af42a9d3d9861f02229e27a1090b0498c7fd3cf4 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/js/jquery-migrate.min.js @@ -0,0 +1,242 @@ +/*! jQuery Migrate v1.4.1 | (c) jQuery Foundation and other contributors | jquery.org/license */ +"undefined" == typeof jQuery.migrateMute && (jQuery.migrateMute = !0), + function(a, b, c) { + function d(c) { + var d = b.console; + f[c] || (f[c] = !0, a.migrateWarnings.push(c), d && d.warn && !a.migrateMute && (d.warn("JQMIGRATE: " + c), a.migrateTrace && d.trace && d.trace())) + } + + function e(b, c, e, f) { + if (Object.defineProperty) try { + return void Object.defineProperty(b, c, { + configurable: !0, + enumerable: !0, + get: function() { + return d(f), e + }, + set: function(a) { + d(f), e = a + } + }) + } catch (g) {} + a._definePropertyBroken = !0, b[c] = e + } + a.migrateVersion = "1.4.1"; + var f = {}; + a.migrateWarnings = [], b.console && b.console.log && b.console.log("JQMIGRATE: Migrate is installed" + (a.migrateMute ? "" : " with logging active") + ", version " + a.migrateVersion), a.migrateTrace === c && (a.migrateTrace = !0), a.migrateReset = function() { + f = {}, a.migrateWarnings.length = 0 + }, "BackCompat" === document.compatMode && d("jQuery is not compatible with Quirks Mode"); + var g = a("<input/>", { + size: 1 + }).attr("size") && a.attrFn, + h = a.attr, + i = a.attrHooks.value && a.attrHooks.value.get || function() { + return null + }, + j = a.attrHooks.value && a.attrHooks.value.set || function() { + return c + }, + k = /^(?:input|button)$/i, + l = /^[238]$/, + m = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + n = /^(?:checked|selected)$/i; + e(a, "attrFn", g || {}, "jQuery.attrFn is deprecated"), a.attr = function(b, e, f, i) { + var j = e.toLowerCase(), + o = b && b.nodeType; + return i && (h.length < 4 && d("jQuery.fn.attr( props, pass ) is deprecated"), b && !l.test(o) && (g ? e in g : a.isFunction(a.fn[e]))) ? a(b)[e](f) : ("type" === e && f !== c && k.test(b.nodeName) && b.parentNode && d("Can't change the 'type' of an input or button in IE 6/7/8"), !a.attrHooks[j] && m.test(j) && (a.attrHooks[j] = { + get: function(b, d) { + var e, f = a.prop(b, d); + return f === !0 || "boolean" != typeof f && (e = b.getAttributeNode(d)) && e.nodeValue !== !1 ? d.toLowerCase() : c + }, + set: function(b, c, d) { + var e; + return c === !1 ? a.removeAttr(b, d) : (e = a.propFix[d] || d, e in b && (b[e] = !0), b.setAttribute(d, d.toLowerCase())), d + } + }, n.test(j) && d("jQuery.fn.attr('" + j + "') might use property instead of attribute")), h.call(a, b, e, f)) + }, a.attrHooks.value = { + get: function(a, b) { + var c = (a.nodeName || "").toLowerCase(); + return "button" === c ? i.apply(this, arguments) : ("input" !== c && "option" !== c && d("jQuery.fn.attr('value') no longer gets properties"), b in a ? a.value : null) + }, + set: function(a, b) { + var c = (a.nodeName || "").toLowerCase(); + return "button" === c ? j.apply(this, arguments) : ("input" !== c && "option" !== c && d("jQuery.fn.attr('value', val) no longer sets properties"), void(a.value = b)) + } + }; + var o, p, q = a.fn.init, + r = a.find, + s = a.parseJSON, + t = /^\s*</, + u = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, + v = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g, + w = /^([^<]*)(<[\w\W]+>)([^>]*)$/; + a.fn.init = function(b, e, f) { + var g, h; + return b && "string" == typeof b && !a.isPlainObject(e) && (g = w.exec(a.trim(b))) && g[0] && (t.test(b) || d("$(html) HTML strings must start with '<' character"), g[3] && d("$(html) HTML text after last tag is ignored"), "#" === g[0].charAt(0) && (d("HTML string cannot start with a '#' character"), a.error("JQMIGRATE: Invalid selector string (XSS)")), e && e.context && e.context.nodeType && (e = e.context), a.parseHTML) ? q.call(this, a.parseHTML(g[2], e && e.ownerDocument || e || document, !0), e, f) : (h = q.apply(this, arguments), b && b.selector !== c ? (h.selector = b.selector, h.context = b.context) : (h.selector = "string" == typeof b ? b : "", b && (h.context = b.nodeType ? b : e || document)), h) + }, a.fn.init.prototype = a.fn, a.find = function(a) { + var b = Array.prototype.slice.call(arguments); + if ("string" == typeof a && u.test(a)) try { + document.querySelector(a) + } catch (c) { + a = a.replace(v, function(a, b, c, d) { + return "[" + b + c + '"' + d + '"]' + }); + try { + document.querySelector(a), d("Attribute selector with '#' must be quoted: " + b[0]), b[0] = a + } catch (e) { + d("Attribute selector with '#' was not fixed: " + b[0]) + } + } + return r.apply(this, b) + }; + var x; + for (x in r) Object.prototype.hasOwnProperty.call(r, x) && (a.find[x] = r[x]); + a.parseJSON = function(a) { + return a ? s.apply(this, arguments) : (d("jQuery.parseJSON requires a valid JSON string"), null) + }, a.uaMatch = function(a) { + a = a.toLowerCase(); + var b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || []; + return { + browser: b[1] || "", + version: b[2] || "0" + } + }, a.browser || (o = a.uaMatch(navigator.userAgent), p = {}, o.browser && (p[o.browser] = !0, p.version = o.version), p.chrome ? p.webkit = !0 : p.webkit && (p.safari = !0), a.browser = p), e(a, "browser", a.browser, "jQuery.browser is deprecated"), a.boxModel = a.support.boxModel = "CSS1Compat" === document.compatMode, e(a, "boxModel", a.boxModel, "jQuery.boxModel is deprecated"), e(a.support, "boxModel", a.support.boxModel, "jQuery.support.boxModel is deprecated"), a.sub = function() { + function b(a, c) { + return new b.fn.init(a, c) + } + a.extend(!0, b, this), b.superclass = this, b.fn = b.prototype = this(), b.fn.constructor = b, b.sub = this.sub, b.fn.init = function(d, e) { + var f = a.fn.init.call(this, d, e, c); + return f instanceof b ? f : b(f) + }, b.fn.init.prototype = b.fn; + var c = b(document); + return d("jQuery.sub() is deprecated"), b + }, a.fn.size = function() { + return d("jQuery.fn.size() is deprecated; use the .length property"), this.length + }; + var y = !1; + a.swap && a.each(["height", "width", "reliableMarginRight"], function(b, c) { + var d = a.cssHooks[c] && a.cssHooks[c].get; + d && (a.cssHooks[c].get = function() { + var a; + return y = !0, a = d.apply(this, arguments), y = !1, a + }) + }), a.swap = function(a, b, c, e) { + var f, g, h = {}; + y || d("jQuery.swap() is undocumented and deprecated"); + for (g in b) h[g] = a.style[g], a.style[g] = b[g]; + f = c.apply(a, e || []); + for (g in b) a.style[g] = h[g]; + return f + }, a.ajaxSetup({ + converters: { + "text json": a.parseJSON + } + }); + var z = a.fn.data; + a.fn.data = function(b) { + var e, f, g = this[0]; + return !g || "events" !== b || 1 !== arguments.length || (e = a.data(g, b), f = a._data(g, b), e !== c && e !== f || f === c) ? z.apply(this, arguments) : (d("Use of jQuery.fn.data('events') is deprecated"), f) + }; + var A = /\/(java|ecma)script/i; + a.clean || (a.clean = function(b, c, e, f) { + c = c || document, c = !c.nodeType && c[0] || c, c = c.ownerDocument || c, d("jQuery.clean() is deprecated"); + var g, h, i, j, k = []; + if (a.merge(k, a.buildFragment(b, c).childNodes), e) + for (i = function(a) { + return !a.type || A.test(a.type) ? f ? f.push(a.parentNode ? a.parentNode.removeChild(a) : a) : e.appendChild(a) : void 0 + }, g = 0; null != (h = k[g]); g++) a.nodeName(h, "script") && i(h) || (e.appendChild(h), "undefined" != typeof h.getElementsByTagName && (j = a.grep(a.merge([], h.getElementsByTagName("script")), i), k.splice.apply(k, [g + 1, 0].concat(j)), g += j.length)); + return k + }); + var B = a.event.add, + C = a.event.remove, + D = a.event.trigger, + E = a.fn.toggle, + F = a.fn.live, + G = a.fn.die, + H = a.fn.load, + I = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess", + J = new RegExp("\\b(?:" + I + ")\\b"), + K = /(?:^|\s)hover(\.\S+|)\b/, + L = function(b) { + return "string" != typeof b || a.event.special.hover ? b : (K.test(b) && d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"), b && b.replace(K, "mouseenter$1 mouseleave$1")) + }; + a.event.props && "attrChange" !== a.event.props[0] && a.event.props.unshift("attrChange", "attrName", "relatedNode", "srcElement"), a.event.dispatch && e(a.event, "handle", a.event.dispatch, "jQuery.event.handle is undocumented and deprecated"), a.event.add = function(a, b, c, e, f) { + a !== document && J.test(b) && d("AJAX events should be attached to document: " + b), B.call(this, a, L(b || ""), c, e, f) + }, a.event.remove = function(a, b, c, d, e) { + C.call(this, a, L(b) || "", c, d, e) + }, a.each(["load", "unload", "error"], function(b, c) { + a.fn[c] = function() { + var a = Array.prototype.slice.call(arguments, 0); + return "load" === c && "string" == typeof a[0] ? H.apply(this, a) : (d("jQuery.fn." + c + "() is deprecated"), a.splice(0, 0, c), arguments.length ? this.bind.apply(this, a) : (this.triggerHandler.apply(this, a), this)) + } + }), a.fn.toggle = function(b, c) { + if (!a.isFunction(b) || !a.isFunction(c)) return E.apply(this, arguments); + d("jQuery.fn.toggle(handler, handler...) is deprecated"); + var e = arguments, + f = b.guid || a.guid++, + g = 0, + h = function(c) { + var d = (a._data(this, "lastToggle" + b.guid) || 0) % g; + return a._data(this, "lastToggle" + b.guid, d + 1), c.preventDefault(), e[d].apply(this, arguments) || !1 + }; + for (h.guid = f; g < e.length;) e[g++].guid = f; + return this.click(h) + }, a.fn.live = function(b, c, e) { + return d("jQuery.fn.live() is deprecated"), F ? F.apply(this, arguments) : (a(this.context).on(b, this.selector, c, e), this) + }, a.fn.die = function(b, c) { + return d("jQuery.fn.die() is deprecated"), G ? G.apply(this, arguments) : (a(this.context).off(b, this.selector || "**", c), this) + }, a.event.trigger = function(a, b, c, e) { + return c || J.test(a) || d("Global events are undocumented and deprecated"), D.call(this, a, b, c || document, e) + }, a.each(I.split("|"), function(b, c) { + a.event.special[c] = { + setup: function() { + var b = this; + return b !== document && (a.event.add(document, c + "." + a.guid, function() { + a.event.trigger(c, Array.prototype.slice.call(arguments, 1), b, !0) + }), a._data(this, c, a.guid++)), !1 + }, + teardown: function() { + return this !== document && a.event.remove(document, c + "." + a._data(this, c)), !1 + } + } + }), a.event.special.ready = { + setup: function() { + this === document && d("'ready' event is deprecated") + } + }; + var M = a.fn.andSelf || a.fn.addBack, + N = a.fn.find; + if (a.fn.andSelf = function() { + return d("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"), M.apply(this, arguments) + }, a.fn.find = function(a) { + var b = N.apply(this, arguments); + return b.context = this.context, b.selector = this.selector ? this.selector + " " + a : a, b + }, a.Callbacks) { + var O = a.Deferred, + P = [ + ["resolve", "done", a.Callbacks("once memory"), a.Callbacks("once memory"), "resolved"], + ["reject", "fail", a.Callbacks("once memory"), a.Callbacks("once memory"), "rejected"], + ["notify", "progress", a.Callbacks("memory"), a.Callbacks("memory")] + ]; + a.Deferred = function(b) { + var c = O(), + e = c.promise(); + return c.pipe = e.pipe = function() { + var b = arguments; + return d("deferred.pipe() is deprecated"), a.Deferred(function(d) { + a.each(P, function(f, g) { + var h = a.isFunction(b[f]) && b[f]; + c[g[1]](function() { + var b = h && h.apply(this, arguments); + b && a.isFunction(b.promise) ? b.promise().done(d.resolve).fail(d.reject).progress(d.notify) : d[g[0] + "With"](this === e ? d.promise() : this, h ? [b] : arguments) + }) + }), b = null + }).promise() + }, c.isResolved = function() { + return d("deferred.isResolved is deprecated"), "resolved" === c.state() + }, c.isRejected = function() { + return d("deferred.isRejected is deprecated"), "rejected" === c.state() + }, b && b.call(c, c), c + } + } + }(jQuery, window); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/jui/js/jquery-noconflict.js b/src/main/resources/saref-portal-generator/public/media/jui/js/jquery-noconflict.js new file mode 100644 index 0000000000000000000000000000000000000000..aa32286f6a36216925671a1cff822158b63da155 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/jui/js/jquery-noconflict.js @@ -0,0 +1 @@ +jQuery.noConflict(); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/system/desktop.ini b/src/main/resources/saref-portal-generator/public/media/system/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/system/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/system/js/caption.js b/src/main/resources/saref-portal-generator/public/media/system/js/caption.js new file mode 100644 index 0000000000000000000000000000000000000000..cbd97df432a3d5a2be6086a31c8c8e203fe49f94 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/system/js/caption.js @@ -0,0 +1,35 @@ +/* + GNU General Public License version 2 or later; see LICENSE.txt +*/ +var JCaption = function(c) { + var e, b, a = function(f) { + e = jQuery.noConflict(); + b = f; + e(b).each(function(g, h) { + d(h) + }) + }, + d = function(i) { + var h = e(i), + f = h.attr("title"), + j = h.attr("width") || i.width, + l = h.attr("align") || h.css("float") || i.style.styleFloat || "none", + g = e("<p/>", { + text: f, + "class": b.replace(".", "_") + }), + k = e("<div/>", { + "class": b.replace(".", "_") + " " + l, + css: { + "float": l, + width: j + } + }); + h.before(k); + k.append(h); + if (f !== "") { + k.append(g) + } + }; + a(c) +}; \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/media/system/js/desktop.ini b/src/main/resources/saref-portal-generator/public/media/system/js/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/media/system/js/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/resources.html b/src/main/resources/saref-portal-generator/public/resources.html new file mode 100644 index 0000000000000000000000000000000000000000..407fe52e07d666e60dba69b4aa4de6b5ec141c6e --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/resources.html @@ -0,0 +1,450 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Home</span> + </span> + </a> + </li> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF core</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="/home/omar/workspaceEmse/saref-portal-generator-omar-tests/public/resources.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Resources</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">About us</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + + + + + + + + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><em>Filter by title or domain:</em> <input class="form-control ui-autocomplete-input" id="tags" placeholder="Users will be able to search for SAREF terms through this form" /></p> + </div> + </section> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <table id="user-content-tablesorter-demo"> + <thead> + <tr> + <th>Ontology</th> + <th>Serialization</th> + <th>License</th> + <th>Authors</th> + <th>Language</th> + <th>Domain</th> + <th>Description</th> + <th>Visualize</th> + <th>Impact</th> + <th>Statistics</th> + </tr> + </thead> + <tbody> + <tr id="user-content-tr1"> + <td> + <a href="http://saref.etsi.org/saref#" rel="nofollow">SAREF: the Smart Appliances REFerence ontology</a> <a href="http://saref.etsi.org/saref.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">IoT</span> + </td> + <td> + <p id="user-content-collapse1"> + The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets in the smart appliances domain. + </p> + <script> + $('#collapse1').click(function() { + if ($('a').hasClass('more1')) { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type ' + switching on / off '. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the ' + switching on / off ' is associated with the commands ' + switch on ', ' + switch off ' and ' + toggle '. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building. See less'); + } else { + $('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr2"> + <td> + <a href="http://saref.etsi.org/saref4envi#" rel="nofollow">SAREF extension for environment</a> <a href="http://saref.etsi.org/saref4envi.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">environment</span> + <span class="label label-primary">light pollution</span> + <span class="label label-primary">photometer</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse2"> + This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. + </p> + <script> + $('#collapse2').click(function() { + if ($('a').hasClass('more2')) { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. See less'); + } else { + $('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr3"> + <td> + <a href="http://saref.etsi.org/saref4bldg#" rel="nofollow">SAREF extension for building devices</a> <a href="http://saref.etsi.org/saref4bldg.html" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + </td> + <td> + <a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a> </td> + <td> + <span class="label label-primary">building</span> + <span class="label label-primary">building device</span> + <span class="label label-primary">device</span> + <span class="label label-primary">IFC</span> + <span class="label label-primary">SAREF</span> + </td> + <td> + <p id="user-content-collapse3"> + This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. + </p> + <script> + $('#collapse3').click(function() { + if ($('a').hasClass('more3')) { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation. See less'); + } else { + $('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... See more'); + } + }); + </script> + </td> + </tr> + <tr id="user-content-tr4"> + <td> + <a href="http://saref.etsi.org/saref4ener#" rel="nofollow">SAREF extension for energy</a> <a href="http://saref.etsi.org/saref4ener#" rel="nofollow"><span title=""></span></a> + </td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td> + <span class="label label-primary">smart appliances</span> <span class="label label-primary">energy</span> + </td> + <td> + <p id="user-content-collapse4"> + SAREF4ENER is an extension of SAREF for the Energy domain + </p> + <script> + $('#collapse4').click(function() { + if ($('a').hasClass('more4')) { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (<a href="http://www.energy-home.it" rel="nofollow">http://www.energy-home.it</a>) and EEBus (<a href="http://www.eebus.org/en" rel="nofollow">http://www.eebus.org/en</a>), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1). See less'); + } else { + $('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... See more'); + } + }); + </script> + </td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4agri#" rel="nofollow">SAREF extension for the Smart Agriculture and Food Chain Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4inma#" rel="nofollow">SAREF extension for the Industry and Manufacturing Domains</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="https://www.linkedin.com/in/lauradaniele" rel="nofollow"> <span class="label label-primary">Laura Daniele</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <a href="https://www.linkedin.com/in/mderoode" rel="nofollow"> <span class="label label-primary">Mike de Roode</span> </a> + <span class="label label-primary">Matthijs Punter</span> + <span class="label label-primary">Alba Fernandez Izquierdo, UPM</span> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4city#" rel="nofollow">SAREF extension for the Smart City Domain</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="http://www.garcia-castro.com/foaf.rdf#me" rel="nofollow"> <span class="label label-primary">Raúl GarcÃa-Castro</span> </a> + <span class="label label-primary">MarÃa Poveda-Villalón</span> + <a href="https://www.linkedin.com/in/paolaespinoza-arias/" rel="nofollow"> <span class="label label-primary">Paola Patricia Espinoza Arias</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + <tr> + <td><a href="http://saref.etsi.org/saref4syst#" rel="nofollow">SAREF Systems: typology of systems and their inter-connections</a></td> + <td> + <span class="label-primary label">html</span> + <span class="label-primary label">turtle</span> + <span class="label-primary label">xml</span> + </td> + <td><a href="http://purl.org/NET/rdflicense/cc-by4.0" rel="nofollow"> <span class="label-success label">xml</span> </a></td> + <td> + <a href="maxime-lefrancois.info"> <span class="label label-primary">Maxime Lefrançois</span> </a> + </td> + <td><a href="http://lexvo.org/id/iso639-3/eng" rel="nofollow"> <span class="label label-primary">en</span></a></td> + <td><em>Coming soon</em></td> + <td><em>Description coming soon</em></td> + </tr> + </tbody> + </table> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> diff --git a/src/main/resources/saref-portal-generator/public/saref.png b/src/main/resources/saref-portal-generator/public/saref.png new file mode 100644 index 0000000000000000000000000000000000000000..70289a4ffe36db9d0c4c6048cfc934b747754a57 Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/saref.png differ diff --git a/src/main/resources/saref-portal-generator/public/saref/desktop.ini b/src/main/resources/saref-portal-generator/public/saref/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref/latest/saref.html b/src/main/resources/saref-portal-generator/public/saref/latest/saref.html new file mode 100644 index 0000000000000000000000000000000000000000..0a96975e52296808766636480fb12194924834f1 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/latest/saref.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF: the Smart Applications REFerence ontology</h1> + <p><strong>Official ETSI documentation for SAREF v2.1.1</strong><br>This page will soon contain the documentation of the SAREF ontology v2.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF v2.1.1 will be available here soon. The source of the ontology are available as <a href="./saref.ttl">Turtle</a> or <a href="./saref.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref/latest/saref.n3 b/src/main/resources/saref-portal-generator/public/saref/latest/saref.n3 new file mode 100644 index 0000000000000000000000000000000000000000..ac283155f090b97bcf68708020d493ee0c0c756c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/latest/saref.n3 @@ -0,0 +1,1231 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix om: <http://www.wurvoc.org/vocabularies/om-1.8/> . + +saref:controlsProperty + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be controlled by a certain Device"@en ; + rdfs:label "controls property"@en . + +saref:On a saref:OnState , saref:OnCommand , owl:NamedIndividual ; + rdfs:comment "The value ON. It is used to instantiate different classes such as the OnCommand class and OnState class. " ; + rdfs:label "On" . + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:label "has timestamp"@en . + +saref:HVAC a owl:Class ; + rdfs:comment "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort" ; + rdfs:label "HVAC" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Comfort ; + owl:onProperty saref:accomplishes + ] . + +saref:OnCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "On command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OnOffState ; + owl:onProperty saref:actsUpon + ] . + +saref:GetSensingData a saref:GetSensingDataCommand , owl:NamedIndividual ; + rdfs:comment "The command GET SENSING DATA. It is used to instantiate the GetSensingDataCommand class. " ; + rdfs:label "Get sensing data" . + +om:lux a saref:IlluminanceUnit , owl:NamedIndividual ; + rdfs:comment "The lux is a unit of illuminance defined as lumen divided by square metre = candela times steradian divided by square metre."@en ; + rdfs:label "lux" . + +saref:StopCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Stop command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:StartStopState ; + owl:onProperty saref:actsUpon + ] . + +saref:GetSensingDataCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get sensing data command" ; + rdfs:subClassOf saref:GetCommand . + +saref:NotifyCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Notify command" ; + rdfs:subClassOf saref:Command . + +saref:GetCurrentMeterValue + a saref:GetCurrentMeterValueCommand , owl:NamedIndividual ; + rdfs:comment "The command GET CURRENT METER VALUE. It is used to instantiate the GetCurrentMeterValueCommand class. " ; + rdfs:label "Get current meter value" . + +saref:SetRelativeLevelCommand + a owl:Class ; + rdfs:comment "A type of set level command" ; + rdfs:label "Set relative level command" ; + rdfs:subClassOf saref:SetLevelCommand . + +saref:StartStopState a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "Start stop state" ; + rdfs:subClassOf saref:State . + +saref:isUsedFor a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)" ; + rdfs:label "is used for" . + +saref:isAbout a owl:ObjectProperty ; + rdfs:comment "A relationship identifying what an entity, such as a Profile, is about"@en ; + rdfs:label "isAbout"@en . + +saref:FunctionRelated + a owl:Class ; + rdfs:comment "A category that considers devices, sensors and their specification in terms of functions, states and services" ; + rdfs:label "Function related" ; + rdfs:subClassOf saref:Device . + +saref:Stop a saref:StopState , saref:StopCommand , owl:NamedIndividual ; + rdfs:comment "The value STOP. It is used to instantiate different classes such as the StopCommand class and StopState class. " ; + rdfs:label "Stop" . + +saref:SetRelativeLevel + a saref:SetRelativeLevelCommand , owl:NamedIndividual ; + rdfs:comment "The value SET RELATIVE LEVEL. It is used to instantiate classes such as the SetRelativeLevelCommand class. " ; + rdfs:label "Set relative level" . + +saref:LevelControlFunction + a owl:Class ; + rdfs:comment "An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. " ; + rdfs:label "Level control function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:SetAbsoluteLevelCommand saref:SetRelativeLevelCommand saref:StepDownCommand saref:StepUpCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:GetMeterData a saref:GetMeterDataCommand , owl:NamedIndividual ; + rdfs:comment "The command GET METER DATA. It is used to instantiate the GetMeterDataCommand class. " ; + rdfs:label "Get meter data" . + +saref:State a owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "State" . + +saref:Meter a owl:Class ; + rdfs:comment "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction." ; + rdfs:label "Meter" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:MeteringFunction + ] . + +saref:GetCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Get command" ; + rdfs:subClassOf saref:Command . + +saref:PressureUnit a owl:Class ; + rdfs:comment "The unit of measure for pressure" ; + rdfs:label "Pressure unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:GetCurrentMeterValueCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get current meter value command" ; + rdfs:subClassOf saref:GetCommand . + +saref:OnOffState a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "On off state" ; + rdfs:subClassOf saref:State . + +saref:Power a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined." ; + rdfs:label "Power" ; + rdfs:subClassOf saref:Property . + +saref:hasModel a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)" ; + rdfs:label "has model" ; + rdfs:range xsd:string . + +saref:EnergyMeter a owl:Class ; + rdfs:comment "An energy meter is a device of category saref:Meter that consists of a meter, accomplishes the tasks saref:MeterReading and saref:EnergyEfficiency, performs the saref:MeteringFunction and is used for the purpose of measuring the saref:Energy property" ; + rdfs:label "Energy meter" ; + rdfs:subClassOf saref:Meter ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:MeterReading ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:EnergyEfficiency ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Energy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Meter + ] . + +saref:Start a saref:StartState , saref:StartCommand , owl:NamedIndividual ; + rdfs:comment "The value START. It is used to instantiate different classes such as the StartCommand class and StartState class. " ; + rdfs:label "Start" . + +saref:Temperature a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)" ; + rdfs:label "Temperature" ; + rdfs:subClassOf saref:Property . + +saref:OnOffFunction a owl:Class ; + rdfs:comment "An actuating function that allows to switch on and off an actuator" ; + rdfs:label "On off function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:OffCommand saref:OnCommand saref:ToggleCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:comment "A relationship between a measurement and the property it relates to" ; + rdfs:label "relates to property"@en . + +saref:MicroRenewable a owl:Class ; + rdfs:comment "A device that generates renewable energy from natural resources such as teh sun, wind and water" ; + rdfs:label "Micro renewable" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:EnergyEfficiency ; + owl:onProperty saref:accomplishes + ] . + +om:kilowatt a saref:PowerUnit , owl:NamedIndividual ; + rdfs:label "kilowatt" . + +saref:isControlledByDevice + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can control a certain property"@en ; + rdfs:label "is controlled by device" . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)." ; + rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ; + rdfs:label "Unit of measure" . + +saref:Pressure a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)" ; + rdfs:label "Pressure" ; + rdfs:subClassOf saref:Property . + +saref:Price a owl:Class ; + rdfs:comment "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency" ; + rdfs:label "Price" ; + rdfs:subClassOf saref:Property . + +saref:ActuatingFunction + a owl:Class ; + rdfs:comment "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)" ; + rdfs:label "Actuating function" ; + rdfs:subClassOf saref:Function . + +saref:hasState a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of state of a device" ; + rdfs:label "has state" . + +saref:CloseState a owl:Class ; + rdfs:comment "The state of a device that is CLOSE" ; + rdfs:label "Close state" ; + rdfs:subClassOf saref:OpenCloseState . + +saref:OffState a owl:Class ; + rdfs:comment "The state of a device that is ON" ; + rdfs:label "Off state" ; + rdfs:subClassOf saref:OnOffState . + +saref:Close a saref:CloseState , saref:CloseCommand , owl:NamedIndividual ; + rdfs:comment "The value CLOSE. It is used to instantiate different classes such as the CloseCommand class and CloseState class, for example. " ; + rdfs:label "Close" . + +saref:WellBeing a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "WellBeing" . + +saref:MeterReading a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Meter reading" . + +saref:hasName a owl:DatatypeProperty ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)" ; + rdfs:label "has name" ; + rdfs:range xsd:string . + +saref:Occupancy a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy" ; + rdfs:label "Occupancy" ; + rdfs:subClassOf saref:Property . + +saref:OpenCloseState a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "Open close state" ; + rdfs:subClassOf saref:State . + +saref:Service a owl:Class ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented." ; + rdfs:label "Service" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:represents + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device ; + owl:onProperty saref:isOfferedBy + ] . + +saref:isOfferedBy a owl:ObjectProperty ; + rdfs:comment "A relationship between a service and a device that offers the service" ; + rdfs:label "is offered by" ; + owl:inverseOf saref:offers . + +saref:hasMeterReading + a owl:ObjectProperty ; + rdfs:comment "A relationship between a metering function and the measurement of the reading" ; + rdfs:label "has meter reading" . + +saref:SetAbsoluteLevelCommand + a owl:Class ; + rdfs:comment "A type of set level command" ; + rdfs:label "Set absolute level command" ; + rdfs:subClassOf saref:SetLevelCommand . + +saref:OpenCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Open command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OpenCloseState ; + owl:onProperty saref:actsUpon + ] . + +saref:watt_hour a saref:EnergyUnit , owl:NamedIndividual ; + rdfs:comment "The Watt Hor is a unit of energy equivalent to one watt (1 W) of power expended for one hour (1 h) of time. An energy expenditure of 1 Wh represents 3600 joules " ; + rdfs:label "watt hour" . + +saref:StepDownCommand + a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Step down command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:MultiLevelState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:StepUpCommand . + +saref:OpenCloseFunction + a owl:Class ; + rdfs:comment "An actuating function that allows to open and close a device" ; + rdfs:label "Open close function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:CloseCommand saref:OpenCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:Energy a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. " ; + rdfs:label "Energy" ; + rdfs:subClassOf saref:Property . + +saref:isMeasuredByDevice + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can measure a certain property"@en ; + rdfs:label "is measured by device" . + +saref:StepUpCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Step up command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:MultiLevelState ; + owl:onProperty saref:actsUpon + ] . + +saref:StopState a owl:Class ; + rdfs:comment "The state of a device that is STOPPED" ; + rdfs:label "Stop state" ; + rdfs:subClassOf saref:StartStopState . + +saref:hasTime a owl:ObjectProperty ; + rdfs:comment "A relationship to associate time information to an entity" ; + rdfs:label "has time" . + +saref:ToggleCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Toggle command" ; + rdfs:subClassOf saref:Command . + +saref:PowerUnit a owl:Class ; + rdfs:comment "The unit of measure for power" ; + rdfs:label "Power unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +om:bar a saref:PressureUnit , owl:NamedIndividual ; + rdfs:comment "The bar is a unit of pressure defined as 100 000 pascal."@en ; + rdfs:label "bar" . + +saref:Gas a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Gas" ; + rdfs:subClassOf saref:Commodity . + +saref:TemperatureUnit + a owl:Class ; + rdfs:comment "The unit of measure for temperature" ; + rdfs:label "Temperature unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:hasMeterReadingType + a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)" ; + rdfs:label "has meter reading type" . + +saref:Property a owl:Class ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Property" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:relatesToMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isMeasuredByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isControlledByDevice + ] . + +om:pound_sterling a saref:Currency , owl:NamedIndividual ; + rdfs:label "Great Britain pound sterling" . + +saref:Storage a owl:Class ; + rdfs:comment "A type of energy-related device that stores energy" ; + rdfs:label "Storage" ; + rdfs:subClassOf saref:EnergyRelated . + +saref:StartCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Start command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:StartStopState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:StopCommand . + +saref:TemperatureSensor + a owl:Class ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and is used for the purpose of sensing a property of type saref:Temperature" ; + rdfs:label "Temperature sensor" ; + rdfs:subClassOf saref:Sensor ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Comfort ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Temperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] . + +saref:StartState a owl:Class ; + rdfs:comment "The state of a device that is STARTED" ; + rdfs:label "Start state" ; + rdfs:subClassOf saref:StartStopState . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power" ; + rdfs:label "has value" . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Device" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Profile ; + owl:onProperty saref:hasProfile + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Service ; + owl:onProperty saref:offers + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:controlsProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:makesMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Task ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:hasFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Commodity ; + owl:onProperty saref:isUsedFor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:Energy saref:Power ) + ] ; + owl:onProperty saref:hasTypicalConsumption + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasModel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasManufacturer + ] . + +saref:SwitchOnService + a owl:Class ; + rdfs:comment "A type of service that represents an on/off function to the network" ; + rdfs:label "Switch on service" ; + rdfs:subClassOf saref:Service ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:represents ; + owl:someValuesFrom saref:OnOffFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:isOfferedBy ; + owl:someValuesFrom saref:LightSwitch + ] . + +saref:GetMeterDataCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get meter data command" ; + rdfs:subClassOf saref:GetCommand . + +saref:Washing a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Washing" . + +saref:DoorSwitch a owl:Class ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Safety, performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState." ; + rdfs:label "Door switch" ; + rdfs:subClassOf saref:Switch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Safety ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OpenCloseState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OpenCloseFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] . + +saref:CloseCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Close command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OpenCloseState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:OpenCommand . + +saref:Cleaning a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Cleaning" . + +om:kelvin a saref:TemperatureUnit , owl:NamedIndividual ; + rdfs:comment "The kelvin is a unit of temperature defined as 1/273.16 of the thermodynamic temperature of the triple point of water."@en ; + rdfs:label "kelvin" . + +saref:EnergyEfficiency + a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "EnergyEfficiency" . + +saref:Entertainment a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Entertainment" . + +saref:hasSensorType a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) " ; + rdfs:label "has sensor type" . + +saref:hasProfile a owl:ObjectProperty ; + rdfs:comment "A relationship associating a profile to a certain entity (e.g., a device)" ; + rdfs:label "has profile" . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)" ; + rdfs:label "has description" ; + rdfs:range xsd:string . + +saref:hasManufacturer + a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)" ; + rdfs:label "has manufacturer" ; + rdfs:range xsd:string . + +time:TemporalUnit rdfs:comment "The unit of measure for time" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Load a owl:Class ; + rdfs:comment "A type of energy-related device that consumes energy" ; + rdfs:label "Load" ; + rdfs:subClassOf saref:EnergyRelated . + +saref:Open a saref:OpenState , saref:OpenCommand , owl:NamedIndividual ; + rdfs:comment "The value OPEN. It is used to instantiate different classes such as the OpenCommand class and OpenState class. " ; + rdfs:label "Open" . + +saref:Lighting a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Lighting" . + +saref:IlluminanceUnit + a owl:Class ; + rdfs:comment "The unit of measure for light" ; + rdfs:label "Illuminance unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Smoke a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke" ; + rdfs:label "Smoke" ; + rdfs:subClassOf saref:Property . + +om:euro a saref:Currency , owl:NamedIndividual ; + rdfs:label "euro"@en . + +saref:Drying a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Drying" . + +saref:hasTypicalConsumption + a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device" ; + rdfs:label "has typical consumption" . + +saref:EnergyUnit a owl:Class ; + rdfs:comment "The unit of measure for energy" ; + rdfs:label "Energy unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Profile a owl:Class ; + rdfs:comment "A specification associated to a device to collect information about a certain Property (e.g., Energy) or Commodity (e.g.Water) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property or Commodity (saref:isAbout), can be calculated over a time span (saref:hasTime ) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en ; + rdfs:label "Profile"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:Commodity saref:Property ) + ] ; + owl:onProperty saref:isAbout + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Time ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Price ; + owl:onProperty saref:hasPrice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Profile ; + owl:onProperty saref:consistsOf + ] . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the unit of measure used for a certain entity." ; + rdfs:label "is measured in" . + +saref:SmokeSensor a owl:Class ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and saref:EventFunction (which notifies that a certain threshold has been exceeded), and is used for the purpose of sensing a property of type saref:Smoke." ; + rdfs:label "Smoke sensor" ; + rdfs:subClassOf saref:Sensor ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Safety ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Smoke + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:EventFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] . + +saref:Toggle a saref:ToggleCommand , owl:NamedIndividual ; + rdfs:comment "The value TOGGLE. It is used to instantiate the the ToggleCommand class" ; + rdfs:label "Toggle" . + +saref:Water a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Water" ; + rdfs:subClassOf saref:Commodity . + +saref:relatesToMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relationship between a property and the measurements it relates to" ; + rdfs:label "relates to measurement"@en . + +om:kilowatt_hour a saref:EnergyUnit , owl:NamedIndividual ; + rdfs:comment "The kilowatt hour is a unit of energy equal to 1,000 watt-hours, or 3.6 megajoules." ; + rdfs:label "kilowatt hour" . + +saref:Off a saref:OffState , saref:OffCommand , owl:NamedIndividual ; + rdfs:comment "The value OFF. It is used to instantiate different classes such as the OffCommand class and OffState class. " ; + rdfs:label "Off " . + +saref:WashingMachine a owl:Class ; + rdfs:comment "A device of category saref:Appliance and saref:Load that accomplishes the task saref:Washing, performs an actuating function of type saref:StartStopFunction, can be found in the state saref:StartStopState, and can have a saref:Profile that characterizes its energy consumption. " ; + rdfs:label "Washing machine" ; + rdfs:subClassOf saref:Load , saref:Appliance ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Washing ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:StartStopState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasProfile ; + owl:someValuesFrom saref:Profile + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:StartStopFunction + ] . + +saref:Network a owl:Class ; + rdfs:comment "A device used to connect other devices in a network, such as hub, switch or router in a Local Area Network (LAN). " ; + rdfs:label "Network" ; + rdfs:subClassOf saref:FunctionRelated . + +saref:Task a owl:Class ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Task" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device ; + owl:onProperty saref:isAccomplishedBy + ] . + +saref:isAccomplishedBy + a owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)" ; + rdfs:label "is accomplished by" . + +saref:represents a owl:ObjectProperty ; + rdfs:comment "A relationship between a service and a function." ; + rdfs:label "represents" . + +om:degree_Celsius a saref:TemperatureUnit , owl:NamedIndividual ; + rdfs:comment "The degree Celsius is a unit of temperature defined as 1 kelvin."@en ; + rdfs:label "degree Celsius" . + +saref:OpenState a owl:Class ; + rdfs:comment "The state of a device that is OPEN " ; + rdfs:label "Open state" ; + rdfs:subClassOf saref:OpenCloseState . + +saref:OnState a owl:Class ; + rdfs:comment "The state of a device that is OFF " ; + rdfs:label "On state" ; + rdfs:subClassOf saref:OnOffState . + +saref:Humidity a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit" ; + rdfs:label "Humidity" ; + rdfs:subClassOf saref:Property . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction." ; + rdfs:label "Sensor" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] . + +saref:OffCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Off command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OnOffState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:OnCommand . + +saref:Electricity a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Electricity" ; + rdfs:subClassOf saref:Commodity . + +saref:Generator a owl:Class ; + rdfs:comment "A type of energy-related device that generates energy" ; + rdfs:label "Generator" ; + rdfs:subClassOf saref:EnergyRelated . + +om:United_States_dollar + a saref:Currency , owl:NamedIndividual ; + rdfs:label "United States dollar"@en . + +saref:Currency a owl:Class ; + rdfs:comment "The unit of measure for price" ; + rdfs:label "Currency" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Time a owl:Class ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology." ; + rdfs:label "Time" ; + rdfs:subClassOf saref:Property ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom time:TemporalEntity + ] . + +saref:hasThresholdMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded" ; + rdfs:label "has threshold measurement" . + +saref:GetMeterHistoryCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get meter history command" ; + rdfs:subClassOf saref:GetCommand . + +saref:Coal a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Coal" ; + rdfs:subClassOf saref:Commodity . + +saref:BuildingRelated + a owl:Class ; + rdfs:comment "A category that includes devices as described by building related data models, such as IFC and FIEMSER " ; + rdfs:label "Building related" ; + rdfs:subClassOf saref:Device . + +saref:hasCommand a owl:ObjectProperty ; + rdfs:comment "A relationship between an entity (such as a function) and a command" ; + rdfs:label "has command" ; + owl:inverseOf saref:isCommandOf . + +saref:SetAbsoluteLevel + a saref:SetAbsoluteLevelCommand , owl:NamedIndividual ; + rdfs:comment "The value SET ABSOLUTE LEVEL. It is used to instantiate classes such as the SetAbsoluteLevelCommand class. " ; + rdfs:label "Set absolute level" . + +saref:Safety a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Safety" . + +om:degree_Fahrenheit a saref:TemperatureUnit , owl:NamedIndividual ; + rdfs:comment "The degree Fahrenheit is a unit of temperature defined as 5.555556e-1 kelvin."@en ; + rdfs:label "degree Fahrenheit" . + +saref:PauseCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Pause command" ; + rdfs:subClassOf saref:Command . + +saref:SetLevelCommand + a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Set level command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:MultiLevelState ; + owl:onProperty saref:actsUpon + ] . + +saref:MultiLevelState + a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "Multi level state" ; + rdfs:subClassOf saref:State . + +saref:Function a owl:Class ; + rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. " ; + rdfs:label "Function" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command ; + owl:onProperty saref:hasCommand + ] . + +saref:Command a owl:Class ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Command" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:isCommandOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:actsUpon + ] . + +saref:LightSwitch a owl:Class ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Lighting, performs the saref:OnOffFunction, measures the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service." ; + rdfs:label "Light switch" ; + rdfs:subClassOf saref:Switch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Lighting ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:offers ; + owl:someValuesFrom saref:SwitchOnService + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OnOffState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Light + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OnOffFunction + ] . + +saref:GetMeterHistory + a saref:GetMeterHistoryCommand , owl:NamedIndividual ; + rdfs:comment "The command GET METER HISTORY. It is used to instantiate the GetMeterHistoryCommand class. " ; + rdfs:label "Get meter history" . + +saref:isCommandOf a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function." ; + rdfs:label "is command of" . + +saref: a owl:Ontology ; + rdfs:comment "Information about changes compared to version 1.1.1: (1)The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings (https://w3id.org/def/saref4bldg), including the reuse of the W3C® WGS84 geo positioning vocabulary; (2)The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class; (3)The information specific for energy efficiency has been moved to the SAREF4ENER extension (https://w3id.org/saref4ener). For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension (https://w3id.org/saref4ener); (4) The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy); (5)The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension (https://w3id.org/def/saref4envi), in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property); (6)Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed; (7)The saref:UnitOfMeasure subclassesre use individuals from the OM ontology for unit of measures (http://www.wurvoc.org/vocabularies/om-1.6/), but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used; (8)The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes; (9)The subclasses of saref:Task have been transormed in individuals; (10)The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class." , "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> , <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> , <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:created "2015-02-10"^^xsd:date ; + dcterms:description "The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building." ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2018-05-02"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/02.01.01_60/ts_103264v020101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref-core/> ; + dcterms:title "SAREF: the Smart Applications REFerence ontology" ; + vann:preferredNamespacePrefix "saref" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref#" ; + owl:versionIRI <https://saref.etsi.org/saref/v2.1.1/saref#> ; + owl:versionInfo "2.1.1" . + +om:pascal a saref:PressureUnit , owl:NamedIndividual ; + rdfs:comment "The pascal is a unit of pressure and stress defined as newton divided by square metre = joule divided by cubic metre = kilogram divided by metre second squared."@en ; + rdfs:label "pascal" . + +saref:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device" ; + rdfs:label "has function" . + +saref:Notify a saref:NotifyCommand , owl:NamedIndividual ; + rdfs:comment "The value NOTIFY. It is used to instantiate the NotifyCommand." ; + rdfs:label "Notify" . + +saref:Comfort a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Comfort" . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:label "makes measurement"@en . + +saref:actsUpon a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state" ; + rdfs:label "acts upon" . + +saref:offers a owl:ObjectProperty ; + rdfs:comment "A relationship between a device and a service" ; + rdfs:label "offers" . + +saref:Commodity a owl:Class ; + rdfs:comment "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. " ; + rdfs:label "Commodity" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] . + +saref:consistsOf a owl:ObjectProperty ; + rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)" ; + rdfs:label "consists of" . + +saref:accomplishes a owl:ObjectProperty ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes" ; + rdfs:label "accomplishes" ; + owl:inverseOf saref:isAccomplishedBy . + +saref:Pause a saref:PauseCommand , owl:NamedIndividual ; + rdfs:comment "The value PAUSE. It is used to instantiate classes such as the PauseCommand class." ; + rdfs:label "Pause" . + +saref:Switch a owl:Class ; + rdfs:comment "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction" ; + rdfs:label "Switch" ; + rdfs:subClassOf saref:Actuator . + +om:watt a saref:PowerUnit , owl:NamedIndividual ; + rdfs:comment "The watt is a unit of power defined as joule divided by second = newton times metre divided by second = volt times ampere = kilogram times square metre divided by second to the power 3."@en ; + rdfs:label "watt" . + +saref:Motion a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion" ; + rdfs:label "Motion" ; + rdfs:subClassOf saref:Property . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] . + +saref:EventFunction a owl:Class ; + rdfs:comment "A function that allows to notify another device that a certain threshold value has been exceeded." ; + rdfs:label "Event function" ; + rdfs:subClassOf saref:Function ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Measurement ; + owl:onProperty saref:hasThresholdMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:NotifyCommand ; + owl:onProperty saref:hasCommand + ] . + +saref:StepDown a saref:StepDownCommand , owl:NamedIndividual ; + rdfs:comment "The value STEP DOWN. It is used to instantiate the StepDownCommand class. " ; + rdfs:label "Step down" . + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system by performing an actuating function" ; + rdfs:label "Actuator" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:ActuatingFunction + ] . + +saref:SensingFunction + a owl:Class ; + rdfs:comment "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)" ; + rdfs:label "Sensing function" ; + rdfs:subClassOf saref:Function ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:hasSensorType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:GetSensingDataCommand ; + owl:onProperty saref:hasCommand + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasSensingRange ; + owl:someValuesFrom saref:Measurement + ] . + +saref:Multimedia a owl:Class ; + rdfs:comment "A device designed to display, store, record or play multimedia content such as audio, images, animation, video " ; + rdfs:label "Multimedia" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Entertainment ; + owl:onProperty saref:accomplishes + ] . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be measured by a certain Device"@en ; + rdfs:label "measures property"@en . + +saref:StepUp a saref:StepUpCommand , owl:NamedIndividual ; + rdfs:comment "The value STEP UP. It is used to instantiate the StepUpCommand class. " ; + rdfs:label "Step up" . + +saref:Appliance a owl:Class ; + rdfs:comment "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking" ; + rdfs:label "Appliance" ; + rdfs:subClassOf saref:FunctionRelated . + +saref:LightingDevice a owl:Class ; + rdfs:comment "A device used for illumination, irradiation, signaling, or projection" ; + rdfs:label "Lighting device" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Comfort ; + owl:onProperty saref:accomplishes + ] . + +saref:hasSensingRange + a owl:ObjectProperty ; + rdfs:comment "A relationship between a sensing function and a measurement identifying the range of a sensor detection" ; + rdfs:label "has sensing range " . + +saref:Light a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)" ; + rdfs:label "Light" ; + rdfs:subClassOf saref:Property . + +saref:StartStopFunction + a owl:Class ; + rdfs:comment "An actuating function that allows to start and stop a device" ; + rdfs:label "Start stop function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:StartCommand saref:StopCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:MeteringFunction + a owl:Class ; + rdfs:comment "A function that allows to get data from a meter, such as current meter reading or instantaneous demand" ; + rdfs:label "Metering function" ; + rdfs:subClassOf saref:Function ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:Commodity saref:Property ) + ] ; + owl:onProperty saref:hasMeterReadingType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:hasMeterReading + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:GetCurrentMeterValueCommand saref:GetMeterDataCommand saref:GetMeterHistoryCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:EnergyRelated a owl:Class ; + rdfs:comment "A category that considers devices based on energy consumption information and profiles to optimize energy efficiency." ; + rdfs:label "Energy related" ; + rdfs:subClassOf saref:Device . + +saref:hasPrice a owl:ObjectProperty ; + rdfs:comment "A relationships indentifying the price associated to an entity" ; + rdfs:label "has price" . diff --git a/src/main/resources/saref-portal-generator/public/saref/latest/saref.rdf b/src/main/resources/saref-portal-generator/public/saref/latest/saref.rdf new file mode 100644 index 0000000000000000000000000000000000000000..bc9cb2af85fde5f5b09d0e0d463f273989e80acc --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/latest/saref.rdf @@ -0,0 +1,1857 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:saref="https://saref.etsi.org/saref#" + xmlns:om="http://www.wurvoc.org/vocabularies/om-1.8/" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:foaf="http://xmlns.com/foaf/0.1/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref#"> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref/v2.1.1/saref#"/> + <vann:preferredNamespacePrefix>saref</vann:preferredNamespacePrefix> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <rdfs:comment>Information about changes compared to version 1.1.1: (1)The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings (https://w3id.org/def/saref4bldg), including the reuse of the W3C® WGS84 geo positioning vocabulary; (2)The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class; (3)The information specific for energy efficiency has been moved to the SAREF4ENER extension (https://w3id.org/saref4ener). For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension (https://w3id.org/saref4ener); (4) The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy); (5)The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension (https://w3id.org/def/saref4envi), in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property); (6)Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed; (7)The saref:UnitOfMeasure subclassesre use individuals from the OM ontology for unit of measures (http://www.wurvoc.org/vocabularies/om-1.6/), but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used; (8)The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes; (9)The subclasses of saref:Task have been transormed in individuals; (10)The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class.</rdfs:comment> + <owl:versionInfo>2.1.1</owl:versionInfo> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref#</vann:preferredNamespaceUri> + <dcterms:source rdf:resource="http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/02.01.01_60/ts_103264v020101p.pdf"/> + <dcterms:description>The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building.</dcterms:description> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2015-02-10</dcterms:created> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:title>SAREF: the Smart Applications REFerence ontology</dcterms:title> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2018-05-02</dcterms:modified> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref-core/"/> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnCommand"> + <rdfs:label>On command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnOffState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Coal"> + <rdfs:label>Coal</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnOffState"> + <rdfs:label>On off state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetSensingDataCommand"> + <rdfs:label>Get sensing data command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartCommand"> + <rdfs:label>Start command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopCommand"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterDataCommand"> + <rdfs:label>Get meter data command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Electricity"> + <rdfs:label>Electricity</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Light"> + <rdfs:label>Light</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EnergyUnit"> + <rdfs:label>Energy unit</rdfs:label> + <rdfs:comment>The unit of measure for energy</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#MeteringFunction"> + <rdfs:label>Metering function</rdfs:label> + <rdfs:comment>A function that allows to get data from a meter, such as current meter reading or instantaneous demand</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReadingType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReading"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCurrentMeterValueCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterDataCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterHistoryCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartState"> + <rdfs:label>Start state</rdfs:label> + <rdfs:comment>The state of a device that is STARTED</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EnergyRelated"> + <rdfs:label>Energy related</rdfs:label> + <rdfs:comment>A category that considers devices based on energy consumption information and profiles to optimize energy efficiency.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#ToggleCommand"> + <rdfs:label>Toggle command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Appliance"> + <rdfs:label>Appliance</rdfs:label> + <rdfs:comment>An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Profile"> + <rdfs:label xml:lang="en">Profile</rdfs:label> + <rdfs:comment xml:lang="en">A specification associated to a device to collect information about a certain Property (e.g., Energy) or Commodity (e.g.Water) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property or Commodity (saref:isAbout), can be calculated over a time span (saref:hasTime ) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAbout"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Time"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Price"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasPrice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Profile"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopFunction"> + <rdfs:label>Start stop function</rdfs:label> + <rdfs:comment>An actuating function that allows to start and stop a device</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#CloseCommand"> + <rdfs:label>Close command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCommand"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Task"> + <rdfs:label>Task</rdfs:label> + <rdfs:comment>The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Measurement"> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Gas"> + <rdfs:label>Gas</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Switch"> + <rdfs:label>Switch</rdfs:label> + <rdfs:comment>A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EnergyMeter"> + <rdfs:label>Energy meter</rdfs:label> + <rdfs:comment>An energy meter is a device of category saref:Meter that consists of a meter, accomplishes the tasks saref:MeterReading and saref:EnergyEfficiency, performs the saref:MeteringFunction and is used for the purpose of measuring the saref:Energy property</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#MeterReading"> + <rdfs:label>Meter reading</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#EnergyEfficiency"> + <rdfs:label>EnergyEfficiency</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Energy"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Meter"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Meter"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"> + <rdfs:label>Commodity</rdfs:label> + <rdfs:comment>A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Generator"> + <rdfs:label>Generator</rdfs:label> + <rdfs:comment>A type of energy-related device that generates energy</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#EnergyRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Energy"> + <rdfs:label>Energy</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Time"> + <rdfs:label>Time</rdfs:label> + <rdfs:comment>A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnOffFunction"> + <rdfs:label>On off function</rdfs:label> + <rdfs:comment>An actuating function that allows to switch on and off an actuator</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#OffCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#ToggleCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SwitchOnService"> + <rdfs:label>Switch on service</rdfs:label> + <rdfs:comment>A type of service that represents an on/off function to the network</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#represents"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#LightSwitch"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isOfferedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Service"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Network"> + <rdfs:label>Network</rdfs:label> + <rdfs:comment>A device used to connect other devices in a network, such as hub, switch or router in a Local Area Network (LAN). </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"> + <rdfs:label>Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure"/> + <rdfs:comment>The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Humidity"> + <rdfs:label>Humidity</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#PowerUnit"> + <rdfs:label>Power unit</rdfs:label> + <rdfs:comment>The unit of measure for power</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SmokeSensor"> + <rdfs:label>Smoke sensor</rdfs:label> + <rdfs:comment>A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and saref:EventFunction (which notifies that a certain threshold has been exceeded), and is used for the purpose of sensing a property of type saref:Smoke.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Safety"> + <rdfs:label>Safety</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Smoke"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#EventFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Occupancy"> + <rdfs:label>Occupancy</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Pressure"> + <rdfs:label>Pressure</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OffState"> + <rdfs:label>Off state</rdfs:label> + <rdfs:comment>The state of a device that is ON</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"> + <rdfs:label>Actuator</rdfs:label> + <rdfs:comment>A device responsible for moving or controlling a mechanism or system by performing an actuating function</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenState"> + <rdfs:label>Open state</rdfs:label> + <rdfs:comment>The state of a device that is OPEN </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseState"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"> + <rdfs:label>Actuating function</rdfs:label> + <rdfs:comment>A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#MicroRenewable"> + <rdfs:label>Micro renewable</rdfs:label> + <rdfs:comment>A device that generates renewable energy from natural resources such as teh sun, wind and water</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#EnergyEfficiency"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"> + <rdfs:label>Property</rdfs:label> + <rdfs:comment>Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseState"> + <rdfs:label>Open close state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#WashingMachine"> + <rdfs:label>Washing machine</rdfs:label> + <rdfs:comment>A device of category saref:Appliance and saref:Load that accomplishes the task saref:Washing, performs an actuating function of type saref:StartStopFunction, can be found in the state saref:StartStopState, and can have a saref:Profile that characterizes its energy consumption. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Washing"> + <rdfs:label>Washing</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Profile"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProfile"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#StartStopFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Load"/> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Appliance"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepUpCommand"> + <rdfs:label>Step up command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetRelativeLevelCommand"> + <rdfs:label>Set relative level command</rdfs:label> + <rdfs:comment>A type of set level command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetLevelCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetLevelCommand"> + <rdfs:label>Set level command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"> + <rdfs:label>Function</rdfs:label> + <rdfs:comment>The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#TemperatureUnit"> + <rdfs:label>Temperature unit</rdfs:label> + <rdfs:comment>The unit of measure for temperature</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Currency"> + <rdfs:label>Currency</rdfs:label> + <rdfs:comment>The unit of measure for price</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#HVAC"> + <rdfs:label>HVAC</rdfs:label> + <rdfs:comment>Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Comfort"> + <rdfs:label>Comfort</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OffCommand"> + <rdfs:label>Off command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref#OnCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Motion"> + <rdfs:label>Motion</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#PressureUnit"> + <rdfs:label>Pressure unit</rdfs:label> + <rdfs:comment>The unit of measure for pressure</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#LightSwitch"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Lighting"> + <rdfs:label>Lighting</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#SwitchOnService"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#offers"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Switch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Switch"/> + <rdfs:label>Light switch</rdfs:label> + <rdfs:comment>A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Lighting, performs the saref:OnOffFunction, measures the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Light"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopState"> + <rdfs:label>Stop state</rdfs:label> + <rdfs:comment>The state of a device that is STOPPED</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Water"> + <rdfs:label>Water</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Commodity"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Power"> + <rdfs:label>Power</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#IlluminanceUnit"> + <rdfs:label>Illuminance unit</rdfs:label> + <rdfs:comment>The unit of measure for light</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Price"> + <rdfs:label>Price</rdfs:label> + <rdfs:comment>A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Multimedia"> + <rdfs:label>Multimedia</rdfs:label> + <rdfs:comment>A device designed to display, store, record or play multimedia content such as audio, images, animation, video </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Entertainment"> + <rdfs:label>Entertainment</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseFunction"> + <rdfs:label>Open close function</rdfs:label> + <rdfs:comment>An actuating function that allows to open and close a device</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#CloseCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#ActuatingFunction"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterHistoryCommand"> + <rdfs:label>Get meter history command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopCommand"> + <rdfs:label>Stop command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#DoorSwitch"> + <rdfs:label>Door switch</rdfs:label> + <rdfs:comment>A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Safety, performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#Safety"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OpenCloseState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OpenCloseFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Switch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Switch"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"> + <rdfs:label>Function related</rdfs:label> + <rdfs:comment>A category that considers devices, sensors and their specification in terms of functions, states and services</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"> + <rdfs:label>Start stop state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EventFunction"> + <rdfs:label>Event function</rdfs:label> + <rdfs:comment>A function that allows to notify another device that a certain threshold value has been exceeded.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasThresholdMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#NotifyCommand"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Function"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"> + <rdfs:label>Sensor</rdfs:label> + <rdfs:comment>A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FunctionRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepDownCommand"> + <rdfs:label>Step down command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref#StepUpCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetAbsoluteLevelCommand"> + <rdfs:label>Set absolute level command</rdfs:label> + <rdfs:comment>A type of set level command</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#SetLevelCommand"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCommand"> + <rdfs:label>Open command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#OpenCloseState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Meter"> + <rdfs:label>Meter</rdfs:label> + <rdfs:comment>A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#MeteringFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FunctionRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Storage"> + <rdfs:label>Storage</rdfs:label> + <rdfs:comment>A type of energy-related device that stores energy</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#EnergyRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#LightingDevice"> + <rdfs:label>Lighting device</rdfs:label> + <rdfs:comment>A device used for illumination, irradiation, signaling, or projection</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#Comfort"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FunctionRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"> + <rdfs:label>Get command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnState"> + <rdfs:label>On state</rdfs:label> + <rdfs:comment>The state of a device that is OFF </rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#TemperatureSensor"> + <rdfs:label>Temperature sensor</rdfs:label> + <rdfs:comment>A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and is used for the purpose of sensing a property of type saref:Temperature</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#Comfort"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Temperature"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Sensor"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Load"> + <rdfs:label>Load</rdfs:label> + <rdfs:comment>A type of energy-related device that consumes energy</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#EnergyRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Temperature"> + <rdfs:label>Temperature</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Service"> + <rdfs:label>Service</rdfs:label> + <rdfs:comment>A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#represents"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isOfferedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"> + <rdfs:label>State</rdfs:label> + <rdfs:comment>The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"> + <rdfs:label>Sensing function</rdfs:label> + <rdfs:comment>A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensorType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#GetSensingDataCommand"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensingRange"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Function"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#NotifyCommand"> + <rdfs:label>Notify command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Profile"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProfile"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#State"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Service"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#offers"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#controlsProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Task"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Device"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Device</rdfs:label> + <rdfs:comment>A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Commodity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isUsedFor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#Energy"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#Power"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTypicalConsumption"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasModel"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasManufacturer"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Smoke"> + <rdfs:label>Smoke</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#PauseCommand"> + <rdfs:label>Pause command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCurrentMeterValueCommand"> + <rdfs:label>Get current meter value command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#GetCommand"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"> + <rdfs:label>Command</rdfs:label> + <rdfs:comment>A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#State"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#LevelControlFunction"> + <rdfs:label>Level control function</rdfs:label> + <rdfs:comment>An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetAbsoluteLevelCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetRelativeLevelCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepDownCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepUpCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#ActuatingFunction"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#BuildingRelated"> + <rdfs:label>Building related</rdfs:label> + <rdfs:comment>A category that includes devices as described by building related data models, such as IFC and FIEMSER </rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"> + <rdfs:label>Multi level state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#State"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#CloseState"> + <rdfs:label>Close state</rdfs:label> + <rdfs:comment>The state of a device that is CLOSE</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#OpenCloseState"/> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTypicalConsumption"> + <rdfs:label>has typical consumption</rdfs:label> + <rdfs:comment>A relationship identifying the typical (energy or power) consumption of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"> + <rdfs:label>is measured in</rdfs:label> + <rdfs:comment>A relationship identifying the unit of measure used for a certain entity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#represents"> + <rdfs:label>represents</rdfs:label> + <rdfs:comment>A relationship between a service and a function.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"> + <rdfs:label>consists of</rdfs:label> + <rdfs:comment>A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensingRange"> + <rdfs:label>has sensing range </rdfs:label> + <rdfs:comment>A relationship between a sensing function and a measurement identifying the range of a sensor detection</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensorType"> + <rdfs:label>has sensor type</rdfs:label> + <rdfs:comment>A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isUsedFor"> + <rdfs:label>is used for</rdfs:label> + <rdfs:comment>A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the Property that can be measured by a certain Device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasThresholdMeasurement"> + <rdfs:label>has threshold measurement</rdfs:label> + <rdfs:comment>A relationship associated with an event function to notify that a certain threshold measurement has been exceeded</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"> + <rdfs:label>has function</rdfs:label> + <rdfs:comment>A relationship identifying the type of function of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReadingType"> + <rdfs:label>has meter reading type</rdfs:label> + <rdfs:comment>A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + <rdfs:comment>A relationship between a property and the measurements it relates to</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#controlsProperty"> + <rdfs:label xml:lang="en">controls property</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the Property that can be controlled by a certain Device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"> + <rdfs:label>is controlled by device</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the devices that can control a certain property</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"> + <rdfs:label>is measured by device</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the devices that can measure a certain property</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAbout"> + <rdfs:label xml:lang="en">isAbout</rdfs:label> + <rdfs:comment xml:lang="en">A relationship identifying what an entity, such as a Profile, is about</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"> + <rdfs:label>has state</rdfs:label> + <rdfs:comment>A relationship identifying the type of state of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#offers"> + <rdfs:label>offers</rdfs:label> + <rdfs:comment>A relationship between a device and a service</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"> + <rdfs:label>is accomplished by</rdfs:label> + <rdfs:comment>A relationship indentifying the task accomplished by a certain entity (e.g., a device)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:comment>A relationship between a measurement and the property it relates to</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProfile"> + <rdfs:label>has profile</rdfs:label> + <rdfs:comment>A relationship associating a profile to a certain entity (e.g., a device)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"> + <rdfs:label>acts upon</rdfs:label> + <rdfs:comment>A relationship between a command and a state</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReading"> + <rdfs:label>has meter reading</rdfs:label> + <rdfs:comment>A relationship between a metering function and the measurement of the reading</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTime"> + <rdfs:label>has time</rdfs:label> + <rdfs:comment>A relationship to associate time information to an entity</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"> + <rdfs:label>accomplishes</rdfs:label> + <rdfs:comment>A relationship between a certain entity (e.g., a device) and the task it accomplishes</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isOfferedBy"> + <rdfs:label>is offered by</rdfs:label> + <rdfs:comment>A relationship between a service and a device that offers the service</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#offers"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasPrice"> + <rdfs:label>has price</rdfs:label> + <rdfs:comment>A relationships indentifying the price associated to an entity</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"> + <rdfs:label>has command</rdfs:label> + <rdfs:comment>A relationship between an entity (such as a function) and a command</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"> + <rdfs:label>is command of</rdfs:label> + <rdfs:comment>A relationship between a command and a function.</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasManufacturer"> + <rdfs:label>has manufacturer</rdfs:label> + <rdfs:comment>A relationship identifying the manufacturer of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"> + <rdfs:label>has value</rdfs:label> + <rdfs:comment>A relationship defining the value of a certain property, e.g., energy or power</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasName"> + <rdfs:label>has name</rdfs:label> + <rdfs:comment>A relationship providing the name of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasModel"> + <rdfs:label>has model</rdfs:label> + <rdfs:comment>A relationship identifying the model of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"> + <rdfs:label>has description</rdfs:label> + <rdfs:comment>A relationship providing a description of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + </owl:DatatypeProperty> + <saref:Currency rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/pound_sterling"> + <rdfs:label>Great Britain pound sterling</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Currency> + <saref:OpenState rdf:about="https://saref.etsi.org/saref#Open"> + <rdfs:label>Open</rdfs:label> + <rdfs:comment>The value OPEN. It is used to instantiate different classes such as the OpenCommand class and OpenState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#OpenCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:OpenState> + <saref:NotifyCommand rdf:about="https://saref.etsi.org/saref#Notify"> + <rdfs:label>Notify</rdfs:label> + <rdfs:comment>The value NOTIFY. It is used to instantiate the NotifyCommand.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:NotifyCommand> + <saref:GetMeterDataCommand rdf:about="https://saref.etsi.org/saref#GetMeterData"> + <rdfs:label>Get meter data</rdfs:label> + <rdfs:comment>The command GET METER DATA. It is used to instantiate the GetMeterDataCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetMeterDataCommand> + <saref:EnergyUnit rdf:about="https://saref.etsi.org/saref#watt_hour"> + <rdfs:label>watt hour</rdfs:label> + <rdfs:comment>The Watt Hor is a unit of energy equivalent to one watt (1 W) of power expended for one hour (1 h) of time. An energy expenditure of 1 Wh represents 3600 joules </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:EnergyUnit> + <saref:PowerUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kilowatt"> + <rdfs:label>kilowatt</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PowerUnit> + <saref:SetAbsoluteLevelCommand rdf:about="https://saref.etsi.org/saref#SetAbsoluteLevel"> + <rdfs:label>Set absolute level</rdfs:label> + <rdfs:comment>The value SET ABSOLUTE LEVEL. It is used to instantiate classes such as the SetAbsoluteLevelCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:SetAbsoluteLevelCommand> + <saref:CloseState rdf:about="https://saref.etsi.org/saref#Close"> + <rdfs:label>Close</rdfs:label> + <rdfs:comment>The value CLOSE. It is used to instantiate different classes such as the CloseCommand class and CloseState class, for example. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#CloseCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:CloseState> + <saref:PressureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/bar"> + <rdfs:label>bar</rdfs:label> + <rdfs:comment xml:lang="en">The bar is a unit of pressure defined as 100 000 pascal.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PressureUnit> + <saref:Currency rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/United_States_dollar"> + <rdfs:label xml:lang="en">United States dollar</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Currency> + <saref:Task rdf:about="https://saref.etsi.org/saref#Drying"> + <rdfs:label>Drying</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + <saref:PressureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/pascal"> + <rdfs:label>pascal</rdfs:label> + <rdfs:comment xml:lang="en">The pascal is a unit of pressure and stress defined as newton divided by square metre = joule divided by cubic metre = kilogram divided by metre second squared.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PressureUnit> + <saref:Task rdf:about="https://saref.etsi.org/saref#Cleaning"> + <rdfs:label>Cleaning</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + <saref:GetCurrentMeterValueCommand rdf:about="https://saref.etsi.org/saref#GetCurrentMeterValue"> + <rdfs:label>Get current meter value</rdfs:label> + <rdfs:comment>The command GET CURRENT METER VALUE. It is used to instantiate the GetCurrentMeterValueCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetCurrentMeterValueCommand> + <saref:GetMeterHistoryCommand rdf:about="https://saref.etsi.org/saref#GetMeterHistory"> + <rdfs:label>Get meter history</rdfs:label> + <rdfs:comment>The command GET METER HISTORY. It is used to instantiate the GetMeterHistoryCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetMeterHistoryCommand> + <saref:GetSensingDataCommand rdf:about="https://saref.etsi.org/saref#GetSensingData"> + <rdfs:label>Get sensing data</rdfs:label> + <rdfs:comment>The command GET SENSING DATA. It is used to instantiate the GetSensingDataCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetSensingDataCommand> + <saref:EnergyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour"> + <rdfs:label>kilowatt hour</rdfs:label> + <rdfs:comment>The kilowatt hour is a unit of energy equal to 1,000 watt-hours, or 3.6 megajoules.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:EnergyUnit> + <saref:TemperatureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/degree_Fahrenheit"> + <rdfs:label>degree Fahrenheit</rdfs:label> + <rdfs:comment xml:lang="en">The degree Fahrenheit is a unit of temperature defined as 5.555556e-1 kelvin.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:TemperatureUnit> + <saref:StepUpCommand rdf:about="https://saref.etsi.org/saref#StepUp"> + <rdfs:label>Step up</rdfs:label> + <rdfs:comment>The value STEP UP. It is used to instantiate the StepUpCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StepUpCommand> + <saref:StopState rdf:about="https://saref.etsi.org/saref#Stop"> + <rdfs:label>Stop</rdfs:label> + <rdfs:comment>The value STOP. It is used to instantiate different classes such as the StopCommand class and StopState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#StopCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StopState> + <saref:ToggleCommand rdf:about="https://saref.etsi.org/saref#Toggle"> + <rdfs:label>Toggle</rdfs:label> + <rdfs:comment>The value TOGGLE. It is used to instantiate the the ToggleCommand class</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:ToggleCommand> + <saref:StepDownCommand rdf:about="https://saref.etsi.org/saref#StepDown"> + <rdfs:label>Step down</rdfs:label> + <rdfs:comment>The value STEP DOWN. It is used to instantiate the StepDownCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StepDownCommand> + <saref:PauseCommand rdf:about="https://saref.etsi.org/saref#Pause"> + <rdfs:label>Pause</rdfs:label> + <rdfs:comment>The value PAUSE. It is used to instantiate classes such as the PauseCommand class.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PauseCommand> + <saref:Currency rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/euro"> + <rdfs:label xml:lang="en">euro</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Currency> + <saref:OffState rdf:about="https://saref.etsi.org/saref#Off"> + <rdfs:label>Off </rdfs:label> + <rdfs:comment>The value OFF. It is used to instantiate different classes such as the OffCommand class and OffState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#OffCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:OffState> + <saref:IlluminanceUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/lux"> + <rdfs:label>lux</rdfs:label> + <rdfs:comment xml:lang="en">The lux is a unit of illuminance defined as lumen divided by square metre = candela times steradian divided by square metre.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:IlluminanceUnit> + <saref:Task rdf:about="https://saref.etsi.org/saref#WellBeing"> + <rdfs:label>WellBeing</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + <saref:TemperatureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/degree_Celsius"> + <rdfs:label>degree Celsius</rdfs:label> + <rdfs:comment xml:lang="en">The degree Celsius is a unit of temperature defined as 1 kelvin.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:TemperatureUnit> + <saref:StartState rdf:about="https://saref.etsi.org/saref#Start"> + <rdfs:label>Start</rdfs:label> + <rdfs:comment>The value START. It is used to instantiate different classes such as the StartCommand class and StartState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#StartCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StartState> + <saref:PowerUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/watt"> + <rdfs:label>watt</rdfs:label> + <rdfs:comment xml:lang="en">The watt is a unit of power defined as joule divided by second = newton times metre divided by second = volt times ampere = kilogram times square metre divided by second to the power 3.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PowerUnit> + <saref:SetRelativeLevelCommand rdf:about="https://saref.etsi.org/saref#SetRelativeLevel"> + <rdfs:label>Set relative level</rdfs:label> + <rdfs:comment>The value SET RELATIVE LEVEL. It is used to instantiate classes such as the SetRelativeLevelCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:SetRelativeLevelCommand> + <saref:TemperatureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kelvin"> + <rdfs:label>kelvin</rdfs:label> + <rdfs:comment xml:lang="en">The kelvin is a unit of temperature defined as 1/273.16 of the thermodynamic temperature of the triple point of water.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:TemperatureUnit> + <saref:OnState rdf:about="https://saref.etsi.org/saref#On"> + <rdfs:label>On</rdfs:label> + <rdfs:comment>The value ON. It is used to instantiate different classes such as the OnCommand class and OnState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#OnCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:OnState> + <rdf:Description rdf:about="http://www.w3.org/2006/time#TemporalUnit"> + <rdfs:comment>The unit of measure for time</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </rdf:Description> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref/latest/saref.ttl b/src/main/resources/saref-portal-generator/public/saref/latest/saref.ttl new file mode 100644 index 0000000000000000000000000000000000000000..a7a3c40fe8426e5a258e0b300a363aa7e36309f7 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/latest/saref.ttl @@ -0,0 +1,1620 @@ +@prefix om: <http://www.wurvoc.org/vocabularies/om-1.8/> . +@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 foaf: <http://xmlns.com/foaf/0.1/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix vann: <http://purl.org/vocab/vann/> . + +@prefix saref: <https://saref.etsi.org/saref#> . +@base <https://saref.etsi.org/saref#> . + +<https://saref.etsi.org/saref#> rdf:type owl:Ontology ; + dcterms:title "SAREF: the Smart Applications REFerence ontology"^^xsd:string ; + owl:versionInfo "2.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref/v2.1.1/saref#> ; + dcterms:created "2015-02-10"^^xsd:date ; + dcterms:modified "2018-05-02"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref#" ; + vann:preferredNamespacePrefix "saref" ; + dcterms:source <http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/02.01.01_60/ts_103264v020101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref-core/> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:description "The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building."^^xsd:string ; + rdfs:comment "Information about changes compared to version 1.1.1: (1)The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings (https://w3id.org/def/saref4bldg), including the reuse of the W3C® WGS84 geo positioning vocabulary; (2)The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class; (3)The information specific for energy efficiency has been moved to the SAREF4ENER extension (https://w3id.org/saref4ener). For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension (https://w3id.org/saref4ener); (4) The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy); (5)The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension (https://w3id.org/def/saref4envi), in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property); (6)Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed; (7)The saref:UnitOfMeasure subclassesre use individuals from the OM ontology for unit of measures (http://www.wurvoc.org/vocabularies/om-1.6/), but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used; (8)The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes; (9)The subclasses of saref:Task have been transormed in individuals; (10)The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class." ; + dcterms:publisher <https://www.etsi.org/> . + +################################################################# +# Object Properties +################################################################# + +### https://w3id.org/saref#accomplishes +saref:accomplishes rdf:type owl:ObjectProperty ; + owl:inverseOf saref:isAccomplishedBy ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes"^^xsd:string ; + rdfs:label "accomplishes"^^xsd:string . + + +### https://w3id.org/saref#actsUpon +saref:actsUpon rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state"^^xsd:string ; + rdfs:label "acts upon"^^xsd:string . + + +### https://w3id.org/saref#consistsOf +saref:consistsOf rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)"^^xsd:string ; + rdfs:label "consists of"^^xsd:string . + + +### https://w3id.org/saref#controlsProperty +saref:controlsProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be controlled by a certain Device"@en ; + rdfs:label "controls property"@en . + + +### https://w3id.org/saref#hasCommand +saref:hasCommand rdf:type owl:ObjectProperty ; + owl:inverseOf saref:isCommandOf ; + rdfs:comment "A relationship between an entity (such as a function) and a command"^^xsd:string ; + rdfs:label "has command"^^xsd:string . + + +### https://w3id.org/saref#hasFunction +saref:hasFunction rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device"^^xsd:string ; + rdfs:label "has function"^^xsd:string . + + +### https://w3id.org/saref#hasMeterReading +saref:hasMeterReading rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a metering function and the measurement of the reading"^^xsd:string ; + rdfs:label "has meter reading"^^xsd:string . + + +### https://w3id.org/saref#hasMeterReadingType +saref:hasMeterReadingType rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)"^^xsd:string ; + rdfs:label "has meter reading type"^^xsd:string . + + +### https://w3id.org/saref#hasPrice +saref:hasPrice rdf:type owl:ObjectProperty ; + rdfs:comment "A relationships indentifying the price associated to an entity"^^xsd:string ; + rdfs:label "has price"^^xsd:string . + + +### https://w3id.org/saref#hasProfile +saref:hasProfile rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship associating a profile to a certain entity (e.g., a device)"^^xsd:string ; + rdfs:label "has profile"^^xsd:string . + + +### https://w3id.org/saref#hasSensingRange +saref:hasSensingRange rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a sensing function and a measurement identifying the range of a sensor detection"^^xsd:string ; + rdfs:label "has sensing range "^^xsd:string . + + +### https://w3id.org/saref#hasSensorType +saref:hasSensorType rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) "^^xsd:string ; + rdfs:label "has sensor type"^^xsd:string . + + +### https://w3id.org/saref#hasState +saref:hasState rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of state of a device"^^xsd:string ; + rdfs:label "has state"^^xsd:string . + + +### https://w3id.org/saref#hasThresholdMeasurement +saref:hasThresholdMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded"^^xsd:string ; + rdfs:label "has threshold measurement"^^xsd:string . + + +### https://w3id.org/saref#hasTime +saref:hasTime rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship to associate time information to an entity"^^xsd:string ; + rdfs:label "has time"^^xsd:string . + + +### https://w3id.org/saref#hasTypicalConsumption +saref:hasTypicalConsumption rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device"^^xsd:string ; + rdfs:label "has typical consumption"^^xsd:string . + + +### https://w3id.org/saref#isAbout +saref:isAbout rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying what an entity, such as a Profile, is about"@en ; + rdfs:label "isAbout"@en . + + +### https://w3id.org/saref#isAccomplishedBy +saref:isAccomplishedBy rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)"^^xsd:string ; + rdfs:label "is accomplished by"^^xsd:string . + + +### https://w3id.org/saref#isCommandOf +saref:isCommandOf rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function."^^xsd:string ; + rdfs:label "is command of"^^xsd:string . + + +### https://w3id.org/saref#isControlledByDevice +saref:isControlledByDevice rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can control a certain property"@en ; + rdfs:label "is controlled by device"^^xsd:string . + + +### https://w3id.org/saref#isMeasuredByDevice +saref:isMeasuredByDevice rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can measure a certain property"@en ; + rdfs:label "is measured by device"^^xsd:string . + + +### https://w3id.org/saref#isMeasuredIn +saref:isMeasuredIn rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the unit of measure used for a certain entity."^^xsd:string ; + rdfs:label "is measured in"^^xsd:string . + + +### https://w3id.org/saref#isOfferedBy +saref:isOfferedBy rdf:type owl:ObjectProperty ; + owl:inverseOf saref:offers ; + rdfs:comment "A relationship between a service and a device that offers the service"^^xsd:string ; + rdfs:label "is offered by"^^xsd:string . + + +### https://w3id.org/saref#isUsedFor +saref:isUsedFor rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)"^^xsd:string ; + rdfs:label "is used for"^^xsd:string . + + +### https://w3id.org/saref#makesMeasurement +saref:makesMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:label "makes measurement"@en . + + +### https://w3id.org/saref#measuresProperty +saref:measuresProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be measured by a certain Device"@en ; + rdfs:label "measures property"@en . + + +### https://w3id.org/saref#offers +saref:offers rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a device and a service"^^xsd:string ; + rdfs:label "offers"^^xsd:string . + + +### https://w3id.org/saref#relatesToMeasurement +saref:relatesToMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a property and the measurements it relates to"^^xsd:string ; + rdfs:label "relates to measurement"@en . + + +### https://w3id.org/saref#relatesToProperty +saref:relatesToProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a measurement and the property it relates to"^^xsd:string ; + rdfs:label "relates to property"@en . + + +### https://w3id.org/saref#represents +saref:represents rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a service and a function."^^xsd:string ; + rdfs:label "represents"^^xsd:string . + + +################################################################# +# Data properties +################################################################# + +### https://w3id.org/saref#hasDescription +saref:hasDescription rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has description"^^xsd:string . + + +### https://w3id.org/saref#hasManufacturer +saref:hasManufacturer rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has manufacturer"^^xsd:string . + + +### https://w3id.org/saref#hasModel +saref:hasModel rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has model"^^xsd:string . + + +### https://w3id.org/saref#hasName +saref:hasName rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has name"^^xsd:string . + + +### https://w3id.org/saref#hasTimestamp +saref:hasTimestamp rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:label "has timestamp"@en . + + +### https://w3id.org/saref#hasValue +saref:hasValue rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"^^xsd:string ; + rdfs:label "has value"^^xsd:string . + + +################################################################# +# Classes +################################################################# + +### http://www.w3.org/2006/time#TemporalUnit +time:TemporalUnit rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for time"^^xsd:string . + + +### https://w3id.org/saref#ActuatingFunction +saref:ActuatingFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function ; + rdfs:comment "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)"^^xsd:string ; + rdfs:label "Actuating function"^^xsd:string . + + +### https://w3id.org/saref#Actuator +saref:Actuator rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:ActuatingFunction + ] ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system by performing an actuating function"^^xsd:string ; + rdfs:label "Actuator"^^xsd:string . + + +### https://w3id.org/saref#Appliance +saref:Appliance rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:comment "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking"^^xsd:string ; + rdfs:label "Appliance"^^xsd:string . + + +### https://w3id.org/saref#BuildingRelated +saref:BuildingRelated rdf:type owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A category that includes devices as described by building related data models, such as IFC and FIEMSER "^^xsd:string ; + rdfs:label "Building related"^^xsd:string . + + +### https://w3id.org/saref#CloseCommand +saref:CloseCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OpenCloseState + ] ; + owl:disjointWith saref:OpenCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Close command"^^xsd:string . + + +### https://w3id.org/saref#CloseState +saref:CloseState rdf:type owl:Class ; + rdfs:subClassOf saref:OpenCloseState ; + rdfs:comment "The state of a device that is CLOSE"^^xsd:string ; + rdfs:label "Close state"^^xsd:string . + + +### https://w3id.org/saref#Coal +saref:Coal rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Coal"^^xsd:string . + + +### https://w3id.org/saref#Command +saref:Command rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Command"^^xsd:string . + + +### https://w3id.org/saref#Commodity +saref:Commodity rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure + ] ; + rdfs:comment "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. "^^xsd:string ; + rdfs:label "Commodity"^^xsd:string . + + +### https://w3id.org/saref#Currency +saref:Currency rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for price"^^xsd:string ; + rdfs:label "Currency"^^xsd:string . + + +### https://w3id.org/saref#Device +saref:Device rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:allValuesFrom saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:controlsProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasProfile ; + owl:allValuesFrom saref:Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:allValuesFrom saref:State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTypicalConsumption ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:Energy + saref:Power + ) + ] + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isUsedFor ; + owl:allValuesFrom saref:Commodity + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:offers ; + owl:allValuesFrom saref:Service + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Task + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasManufacturer ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasModel ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Device"^^xsd:string . + + +### https://w3id.org/saref#DoorSwitch +saref:DoorSwitch rdf:type owl:Class ; + rdfs:subClassOf saref:Switch , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OpenCloseFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OpenCloseState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Safety + ] ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Safety, performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState."^^xsd:string ; + rdfs:label "Door switch"^^xsd:string . + + +### https://w3id.org/saref#Electricity +saref:Electricity rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Electricity"^^xsd:string . + + +### https://w3id.org/saref#Energy +saref:Energy rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. "^^xsd:string ; + rdfs:label "Energy"^^xsd:string . + + +### https://w3id.org/saref#EnergyMeter +saref:EnergyMeter rdf:type owl:Class ; + rdfs:subClassOf saref:Meter , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Meter + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Energy + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:EnergyEfficiency + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:MeterReading + ] ; + rdfs:comment "An energy meter is a device of category saref:Meter that consists of a meter, accomplishes the tasks saref:MeterReading and saref:EnergyEfficiency, performs the saref:MeteringFunction and is used for the purpose of measuring the saref:Energy property"^^xsd:string ; + rdfs:label "Energy meter"^^xsd:string . + + +### https://w3id.org/saref#EnergyRelated +saref:EnergyRelated rdf:type owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A category that considers devices based on energy consumption information and profiles to optimize energy efficiency."^^xsd:string ; + rdfs:label "Energy related"^^xsd:string . + + +### https://w3id.org/saref#EnergyUnit +saref:EnergyUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for energy"^^xsd:string ; + rdfs:label "Energy unit"^^xsd:string . + + +### https://w3id.org/saref#EventFunction +saref:EventFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom saref:NotifyCommand + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasThresholdMeasurement ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Measurement + ] ; + rdfs:comment "A function that allows to notify another device that a certain threshold value has been exceeded."^^xsd:string ; + rdfs:label "Event function"^^xsd:string . + + +### https://w3id.org/saref#Function +saref:Function rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command + ] ; + rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. "^^xsd:string ; + rdfs:label "Function"^^xsd:string . + + +### https://w3id.org/saref#FunctionRelated +saref:FunctionRelated rdf:type owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A category that considers devices, sensors and their specification in terms of functions, states and services"^^xsd:string ; + rdfs:label "Function related"^^xsd:string . + + +### https://w3id.org/saref#Gas +saref:Gas rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Gas"^^xsd:string . + + +### https://w3id.org/saref#Generator +saref:Generator rdf:type owl:Class ; + rdfs:subClassOf saref:EnergyRelated ; + rdfs:comment "A type of energy-related device that generates energy"^^xsd:string ; + rdfs:label "Generator"^^xsd:string . + + +### https://w3id.org/saref#GetCommand +saref:GetCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Get command"^^xsd:string . + + +### https://w3id.org/saref#GetCurrentMeterValueCommand +saref:GetCurrentMeterValueCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get current meter value command"^^xsd:string . + + +### https://w3id.org/saref#GetMeterDataCommand +saref:GetMeterDataCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get meter data command"^^xsd:string . + + +### https://w3id.org/saref#GetMeterHistoryCommand +saref:GetMeterHistoryCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get meter history command"^^xsd:string . + + +### https://w3id.org/saref#GetSensingDataCommand +saref:GetSensingDataCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get sensing data command"^^xsd:string . + + +### https://w3id.org/saref#HVAC +saref:HVAC rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Comfort + ] ; + rdfs:comment "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort"^^xsd:string ; + rdfs:label "HVAC"^^xsd:string . + + +### https://w3id.org/saref#Humidity +saref:Humidity rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"^^xsd:string ; + rdfs:label "Humidity"^^xsd:string . + + +### https://w3id.org/saref#IlluminanceUnit +saref:IlluminanceUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for light"^^xsd:string ; + rdfs:label "Illuminance unit"^^xsd:string . + + +### https://w3id.org/saref#LevelControlFunction +saref:LevelControlFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:SetAbsoluteLevelCommand + saref:SetRelativeLevelCommand + saref:StepDownCommand + saref:StepUpCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. "^^xsd:string ; + rdfs:label "Level control function"^^xsd:string . + + +### https://w3id.org/saref#Light +saref:Light rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)"^^xsd:string ; + rdfs:label "Light"^^xsd:string . + + +### https://w3id.org/saref#LightSwitch +saref:LightSwitch rdf:type owl:Class ; + rdfs:subClassOf saref:Switch , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OnOffFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OnOffState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Light + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:offers ; + owl:someValuesFrom saref:SwitchOnService + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Lighting + ] ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Lighting, performs the saref:OnOffFunction, measures the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service."^^xsd:string ; + rdfs:label "Light switch"^^xsd:string . + + +### https://w3id.org/saref#LightingDevice +saref:LightingDevice rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Comfort + ] ; + rdfs:comment "A device used for illumination, irradiation, signaling, or projection"^^xsd:string ; + rdfs:label "Lighting device"^^xsd:string . + + +### https://w3id.org/saref#Load +saref:Load rdf:type owl:Class ; + rdfs:subClassOf saref:EnergyRelated ; + rdfs:comment "A type of energy-related device that consumes energy"^^xsd:string ; + rdfs:label "Load"^^xsd:string . + + +### https://w3id.org/saref#Measurement +saref:Measurement rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float + ] ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en . + + +### https://w3id.org/saref#Meter +saref:Meter rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:MeteringFunction + ] ; + rdfs:comment "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction."^^xsd:string ; + rdfs:label "Meter"^^xsd:string . + + +### https://w3id.org/saref#MeteringFunction +saref:MeteringFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:GetCurrentMeterValueCommand + saref:GetMeterDataCommand + saref:GetMeterHistoryCommand + ) + ] + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasMeterReading ; + owl:allValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasMeterReadingType ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:Commodity + saref:Property + ) + ] + ] ; + rdfs:comment "A function that allows to get data from a meter, such as current meter reading or instantaneous demand"^^xsd:string ; + rdfs:label "Metering function"^^xsd:string . + + +### https://w3id.org/saref#MicroRenewable +saref:MicroRenewable rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:EnergyEfficiency + ] ; + rdfs:comment "A device that generates renewable energy from natural resources such as teh sun, wind and water"^^xsd:string ; + rdfs:label "Micro renewable"^^xsd:string . + + +### https://w3id.org/saref#Motion +saref:Motion rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion"^^xsd:string ; + rdfs:label "Motion"^^xsd:string . + + +### https://w3id.org/saref#MultiLevelState +saref:MultiLevelState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "Multi level state"^^xsd:string . + + +### https://w3id.org/saref#Multimedia +saref:Multimedia rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Entertainment + ] ; + rdfs:comment "A device designed to display, store, record or play multimedia content such as audio, images, animation, video "^^xsd:string ; + rdfs:label "Multimedia"^^xsd:string . + + +### https://w3id.org/saref#Network +saref:Network rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:comment "A device used to connect other devices in a network, such as hub, switch or router in a Local Area Network (LAN). "^^xsd:string ; + rdfs:label "Network"^^xsd:string . + + +### https://w3id.org/saref#NotifyCommand +saref:NotifyCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Notify command"^^xsd:string . + + +### https://w3id.org/saref#Occupancy +saref:Occupancy rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy"^^xsd:string ; + rdfs:label "Occupancy"^^xsd:string . + + +### https://w3id.org/saref#OffCommand +saref:OffCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OnOffState + ] ; + owl:disjointWith saref:OnCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Off command"^^xsd:string . + + +### https://w3id.org/saref#OffState +saref:OffState rdf:type owl:Class ; + rdfs:subClassOf saref:OnOffState ; + rdfs:comment "The state of a device that is ON"^^xsd:string ; + rdfs:label "Off state"^^xsd:string . + + +### https://w3id.org/saref#OnCommand +saref:OnCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OnOffState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "On command"^^xsd:string . + + +### https://w3id.org/saref#OnOffFunction +saref:OnOffFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:OffCommand + saref:OnCommand + saref:ToggleCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to switch on and off an actuator"^^xsd:string ; + rdfs:label "On off function"^^xsd:string . + + +### https://w3id.org/saref#OnOffState +saref:OnOffState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "On off state"^^xsd:string . + + +### https://w3id.org/saref#OnState +saref:OnState rdf:type owl:Class ; + rdfs:subClassOf saref:OnOffState ; + rdfs:comment "The state of a device that is OFF "^^xsd:string ; + rdfs:label "On state"^^xsd:string . + + +### https://w3id.org/saref#OpenCloseFunction +saref:OpenCloseFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:CloseCommand + saref:OpenCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to open and close a device"^^xsd:string ; + rdfs:label "Open close function"^^xsd:string . + + +### https://w3id.org/saref#OpenCloseState +saref:OpenCloseState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "Open close state"^^xsd:string . + + +### https://w3id.org/saref#OpenCommand +saref:OpenCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OpenCloseState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Open command"^^xsd:string . + + +### https://w3id.org/saref#OpenState +saref:OpenState rdf:type owl:Class ; + rdfs:subClassOf saref:OpenCloseState ; + rdfs:comment "The state of a device that is OPEN "^^xsd:string ; + rdfs:label "Open state"^^xsd:string . + + +### https://w3id.org/saref#PauseCommand +saref:PauseCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Pause command"^^xsd:string . + + +### https://w3id.org/saref#Power +saref:Power rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined."^^xsd:string ; + rdfs:label "Power"^^xsd:string . + + +### https://w3id.org/saref#PowerUnit +saref:PowerUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for power"^^xsd:string ; + rdfs:label "Power unit"^^xsd:string . + + +### https://w3id.org/saref#Pressure +saref:Pressure rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)"^^xsd:string ; + rdfs:label "Pressure"^^xsd:string . + + +### https://w3id.org/saref#PressureUnit +saref:PressureUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for pressure"^^xsd:string ; + rdfs:label "Pressure unit"^^xsd:string . + + +### https://w3id.org/saref#Price +saref:Price rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency"^^xsd:string ; + rdfs:label "Price"^^xsd:string . + + +### https://w3id.org/saref#Profile +saref:Profile rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:allValuesFrom saref:Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasPrice ; + owl:allValuesFrom saref:Price + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTime ; + owl:allValuesFrom saref:Time + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isAbout ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:Commodity + saref:Property + ) + ] + ] ; + rdfs:comment "A specification associated to a device to collect information about a certain Property (e.g., Energy) or Commodity (e.g.Water) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property or Commodity (saref:isAbout), can be calculated over a time span (saref:hasTime ) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en ; + rdfs:label "Profile"@en . + + +### https://w3id.org/saref#Property +saref:Property rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isControlledByDevice ; + owl:allValuesFrom saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredByDevice ; + owl:allValuesFrom saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToMeasurement ; + owl:allValuesFrom saref:Measurement + ] ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Property"^^xsd:string . + + +### https://w3id.org/saref#SensingFunction +saref:SensingFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasSensingRange ; + owl:someValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom saref:GetSensingDataCommand + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasSensorType ; + owl:allValuesFrom saref:Property + ] ; + rdfs:comment "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)"^^xsd:string ; + rdfs:label "Sensing function"^^xsd:string . + + +### https://w3id.org/saref#Sensor +saref:Sensor rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction."^^xsd:string ; + rdfs:label "Sensor"^^xsd:string . + + +### https://w3id.org/saref#Service +saref:Service rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isOfferedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:represents ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function + ] ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented."^^xsd:string ; + rdfs:label "Service"^^xsd:string . + + +### https://w3id.org/saref#SetAbsoluteLevelCommand +saref:SetAbsoluteLevelCommand rdf:type owl:Class ; + rdfs:subClassOf saref:SetLevelCommand ; + rdfs:comment "A type of set level command"^^xsd:string ; + rdfs:label "Set absolute level command"^^xsd:string . + + +### https://w3id.org/saref#SetLevelCommand +saref:SetLevelCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:MultiLevelState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Set level command"^^xsd:string . + + +### https://w3id.org/saref#SetRelativeLevelCommand +saref:SetRelativeLevelCommand rdf:type owl:Class ; + rdfs:subClassOf saref:SetLevelCommand ; + rdfs:comment "A type of set level command"^^xsd:string ; + rdfs:label "Set relative level command"^^xsd:string . + + +### https://w3id.org/saref#Smoke +saref:Smoke rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke"^^xsd:string ; + rdfs:label "Smoke"^^xsd:string . + + +### https://w3id.org/saref#SmokeSensor +saref:SmokeSensor rdf:type owl:Class ; + rdfs:subClassOf saref:Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:EventFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Smoke + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Safety + ] ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and saref:EventFunction (which notifies that a certain threshold has been exceeded), and is used for the purpose of sensing a property of type saref:Smoke."^^xsd:string ; + rdfs:label "Smoke sensor"^^xsd:string . + + +### https://w3id.org/saref#StartCommand +saref:StartCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:StartStopState + ] ; + owl:disjointWith saref:StopCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Start command"^^xsd:string . + + +### https://w3id.org/saref#StartState +saref:StartState rdf:type owl:Class ; + rdfs:subClassOf saref:StartStopState ; + rdfs:comment "The state of a device that is STARTED"^^xsd:string ; + rdfs:label "Start state"^^xsd:string . + + +### https://w3id.org/saref#StartStopFunction +saref:StartStopFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:StartCommand + saref:StopCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to start and stop a device"^^xsd:string ; + rdfs:label "Start stop function"^^xsd:string . + + +### https://w3id.org/saref#StartStopState +saref:StartStopState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "Start stop state"^^xsd:string . + + +### https://w3id.org/saref#State +saref:State rdf:type owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "State"^^xsd:string . + + +### https://w3id.org/saref#StepDownCommand +saref:StepDownCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:MultiLevelState + ] ; + owl:disjointWith saref:StepUpCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Step down command"^^xsd:string . + + +### https://w3id.org/saref#StepUpCommand +saref:StepUpCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:MultiLevelState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Step up command"^^xsd:string . + + +### https://w3id.org/saref#StopCommand +saref:StopCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:StartStopState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Stop command"^^xsd:string . + + +### https://w3id.org/saref#StopState +saref:StopState rdf:type owl:Class ; + rdfs:subClassOf saref:StartStopState ; + rdfs:comment "The state of a device that is STOPPED"^^xsd:string ; + rdfs:label "Stop state"^^xsd:string . + + +### https://w3id.org/saref#Storage +saref:Storage rdf:type owl:Class ; + rdfs:subClassOf saref:EnergyRelated ; + rdfs:comment "A type of energy-related device that stores energy"^^xsd:string ; + rdfs:label "Storage"^^xsd:string . + + +### https://w3id.org/saref#Switch +saref:Switch rdf:type owl:Class ; + rdfs:subClassOf saref:Actuator ; + rdfs:comment "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction"^^xsd:string ; + rdfs:label "Switch"^^xsd:string . + + +### https://w3id.org/saref#SwitchOnService +saref:SwitchOnService rdf:type owl:Class ; + rdfs:subClassOf saref:Service , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isOfferedBy ; + owl:someValuesFrom saref:LightSwitch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:represents ; + owl:someValuesFrom saref:OnOffFunction + ] ; + rdfs:comment "A type of service that represents an on/off function to the network"^^xsd:string ; + rdfs:label "Switch on service"^^xsd:string . + + +### https://w3id.org/saref#Task +saref:Task rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isAccomplishedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device + ] ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Task"^^xsd:string . + + +### https://w3id.org/saref#Temperature +saref:Temperature rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"^^xsd:string ; + rdfs:label "Temperature"^^xsd:string . + + +### https://w3id.org/saref#TemperatureSensor +saref:TemperatureSensor rdf:type owl:Class ; + rdfs:subClassOf saref:Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Temperature + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Comfort + ] ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and is used for the purpose of sensing a property of type saref:Temperature"^^xsd:string ; + rdfs:label "Temperature sensor"^^xsd:string . + + +### https://w3id.org/saref#TemperatureUnit +saref:TemperatureUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for temperature"^^xsd:string ; + rdfs:label "Temperature unit"^^xsd:string . + + +### https://w3id.org/saref#Time +saref:Time rdf:type owl:Class ; + rdfs:subClassOf saref:Property , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom time:TemporalEntity + ] ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology."^^xsd:string ; + rdfs:label "Time"^^xsd:string . + + +### https://w3id.org/saref#ToggleCommand +saref:ToggleCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Toggle command"^^xsd:string . + + +### https://w3id.org/saref#UnitOfMeasure +saref:UnitOfMeasure rdf:type owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."^^xsd:string ; + rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ; + rdfs:label "Unit of measure"^^xsd:string . + + +### https://w3id.org/saref#WashingMachine +saref:WashingMachine rdf:type owl:Class ; + rdfs:subClassOf saref:Appliance , + saref:Load , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:StartStopFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasProfile ; + owl:someValuesFrom saref:Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:StartStopState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Washing + ] ; + rdfs:comment "A device of category saref:Appliance and saref:Load that accomplishes the task saref:Washing, performs an actuating function of type saref:StartStopFunction, can be found in the state saref:StartStopState, and can have a saref:Profile that characterizes its energy consumption. "^^xsd:string ; + rdfs:label "Washing machine"^^xsd:string . + + +### https://w3id.org/saref#Water +saref:Water rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Water"^^xsd:string . + + +################################################################# +# Individuals +################################################################# + +### http://www.wurvoc.org/vocabularies/om-1.8/United_States_dollar +om:United_States_dollar rdf:type owl:NamedIndividual , + saref:Currency ; + rdfs:label "United States dollar"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/bar +om:bar rdf:type owl:NamedIndividual , + saref:PressureUnit ; + rdfs:comment "The bar is a unit of pressure defined as 100 000 pascal."@en ; + rdfs:label "bar"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/degree_Celsius +om:degree_Celsius rdf:type owl:NamedIndividual , + saref:TemperatureUnit ; + rdfs:comment "The degree Celsius is a unit of temperature defined as 1 kelvin."@en ; + rdfs:label "degree Celsius"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/degree_Fahrenheit +om:degree_Fahrenheit rdf:type owl:NamedIndividual , + saref:TemperatureUnit ; + rdfs:comment "The degree Fahrenheit is a unit of temperature defined as 5.555556e-1 kelvin."@en ; + rdfs:label "degree Fahrenheit"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/euro +om:euro rdf:type owl:NamedIndividual , + saref:Currency ; + rdfs:label "euro"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kelvin +om:kelvin rdf:type owl:NamedIndividual , + saref:TemperatureUnit ; + rdfs:comment "The kelvin is a unit of temperature defined as 1/273.16 of the thermodynamic temperature of the triple point of water."@en ; + rdfs:label "kelvin"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kilowatt +om:kilowatt rdf:type owl:NamedIndividual , + saref:PowerUnit ; + rdfs:label "kilowatt"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour +om:kilowatt_hour rdf:type owl:NamedIndividual , + saref:EnergyUnit ; + rdfs:comment "The kilowatt hour is a unit of energy equal to 1,000 watt-hours, or 3.6 megajoules."^^xsd:string ; + rdfs:label "kilowatt hour"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/lux +om:lux rdf:type owl:NamedIndividual , + saref:IlluminanceUnit ; + rdfs:comment "The lux is a unit of illuminance defined as lumen divided by square metre = candela times steradian divided by square metre."@en ; + rdfs:label "lux"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/pascal +om:pascal rdf:type owl:NamedIndividual , + saref:PressureUnit ; + rdfs:comment "The pascal is a unit of pressure and stress defined as newton divided by square metre = joule divided by cubic metre = kilogram divided by metre second squared."@en ; + rdfs:label "pascal"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/pound_sterling +om:pound_sterling rdf:type owl:NamedIndividual , + saref:Currency ; + rdfs:label "Great Britain pound sterling"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/watt +om:watt rdf:type owl:NamedIndividual , + saref:PowerUnit ; + rdfs:comment "The watt is a unit of power defined as joule divided by second = newton times metre divided by second = volt times ampere = kilogram times square metre divided by second to the power 3."@en ; + rdfs:label "watt"^^xsd:string . + + +### https://w3id.org/saref#Cleaning +saref:Cleaning rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Cleaning"^^xsd:string . + + +### https://w3id.org/saref#Close +saref:Close rdf:type owl:NamedIndividual , + saref:CloseCommand , + saref:CloseState ; + rdfs:comment "The value CLOSE. It is used to instantiate different classes such as the CloseCommand class and CloseState class, for example. "^^xsd:string ; + rdfs:label "Close"^^xsd:string . + + +### https://w3id.org/saref#Comfort +saref:Comfort rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Comfort"^^xsd:string . + + +### https://w3id.org/saref#Drying +saref:Drying rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Drying"^^xsd:string . + + +### https://w3id.org/saref#EnergyEfficiency +saref:EnergyEfficiency rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "EnergyEfficiency"^^xsd:string . + + +### https://w3id.org/saref#Entertainment +saref:Entertainment rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Entertainment"^^xsd:string . + + +### https://w3id.org/saref#GetCurrentMeterValue +saref:GetCurrentMeterValue rdf:type owl:NamedIndividual , + saref:GetCurrentMeterValueCommand ; + rdfs:comment "The command GET CURRENT METER VALUE. It is used to instantiate the GetCurrentMeterValueCommand class. "^^xsd:string ; + rdfs:label "Get current meter value"^^xsd:string . + + +### https://w3id.org/saref#GetMeterData +saref:GetMeterData rdf:type owl:NamedIndividual , + saref:GetMeterDataCommand ; + rdfs:comment "The command GET METER DATA. It is used to instantiate the GetMeterDataCommand class. "^^xsd:string ; + rdfs:label "Get meter data"^^xsd:string . + + +### https://w3id.org/saref#GetMeterHistory +saref:GetMeterHistory rdf:type owl:NamedIndividual , + saref:GetMeterHistoryCommand ; + rdfs:comment "The command GET METER HISTORY. It is used to instantiate the GetMeterHistoryCommand class. "^^xsd:string ; + rdfs:label "Get meter history"^^xsd:string . + + +### https://w3id.org/saref#GetSensingData +saref:GetSensingData rdf:type owl:NamedIndividual , + saref:GetSensingDataCommand ; + rdfs:comment "The command GET SENSING DATA. It is used to instantiate the GetSensingDataCommand class. "^^xsd:string ; + rdfs:label "Get sensing data"^^xsd:string . + + +### https://w3id.org/saref#Lighting +saref:Lighting rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Lighting"^^xsd:string . + + +### https://w3id.org/saref#MeterReading +saref:MeterReading rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Meter reading"^^xsd:string . + + +### https://w3id.org/saref#Notify +saref:Notify rdf:type owl:NamedIndividual , + saref:NotifyCommand ; + rdfs:comment "The value NOTIFY. It is used to instantiate the NotifyCommand."^^xsd:string ; + rdfs:label "Notify"^^xsd:string . + + +### https://w3id.org/saref#Off +saref:Off rdf:type owl:NamedIndividual , + saref:OffCommand , + saref:OffState ; + rdfs:comment "The value OFF. It is used to instantiate different classes such as the OffCommand class and OffState class. "^^xsd:string ; + rdfs:label "Off "^^xsd:string . + + +### https://w3id.org/saref#On +saref:On rdf:type owl:NamedIndividual , + saref:OnCommand , + saref:OnState ; + rdfs:comment "The value ON. It is used to instantiate different classes such as the OnCommand class and OnState class. "^^xsd:string ; + rdfs:label "On"^^xsd:string . + + +### https://w3id.org/saref#Open +saref:Open rdf:type owl:NamedIndividual , + saref:OpenCommand , + saref:OpenState ; + rdfs:comment "The value OPEN. It is used to instantiate different classes such as the OpenCommand class and OpenState class. "^^xsd:string ; + rdfs:label "Open"^^xsd:string . + + +### https://w3id.org/saref#Pause +saref:Pause rdf:type owl:NamedIndividual , + saref:PauseCommand ; + rdfs:comment "The value PAUSE. It is used to instantiate classes such as the PauseCommand class."^^xsd:string ; + rdfs:label "Pause"^^xsd:string . + + +### https://w3id.org/saref#Safety +saref:Safety rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Safety"^^xsd:string . + + +### https://w3id.org/saref#SetAbsoluteLevel +saref:SetAbsoluteLevel rdf:type owl:NamedIndividual , + saref:SetAbsoluteLevelCommand ; + rdfs:comment "The value SET ABSOLUTE LEVEL. It is used to instantiate classes such as the SetAbsoluteLevelCommand class. "^^xsd:string ; + rdfs:label "Set absolute level"^^xsd:string . + + +### https://w3id.org/saref#SetRelativeLevel +saref:SetRelativeLevel rdf:type owl:NamedIndividual , + saref:SetRelativeLevelCommand ; + rdfs:comment "The value SET RELATIVE LEVEL. It is used to instantiate classes such as the SetRelativeLevelCommand class. "^^xsd:string ; + rdfs:label "Set relative level"^^xsd:string . + + +### https://w3id.org/saref#Start +saref:Start rdf:type owl:NamedIndividual , + saref:StartCommand , + saref:StartState ; + rdfs:comment "The value START. It is used to instantiate different classes such as the StartCommand class and StartState class. "^^xsd:string ; + rdfs:label "Start"^^xsd:string . + + +### https://w3id.org/saref#StepDown +saref:StepDown rdf:type owl:NamedIndividual , + saref:StepDownCommand ; + rdfs:comment "The value STEP DOWN. It is used to instantiate the StepDownCommand class. "^^xsd:string ; + rdfs:label "Step down"^^xsd:string . + + +### https://w3id.org/saref#StepUp +saref:StepUp rdf:type owl:NamedIndividual , + saref:StepUpCommand ; + rdfs:comment "The value STEP UP. It is used to instantiate the StepUpCommand class. "^^xsd:string ; + rdfs:label "Step up"^^xsd:string . + + +### https://w3id.org/saref#Stop +saref:Stop rdf:type owl:NamedIndividual , + saref:StopCommand , + saref:StopState ; + rdfs:comment "The value STOP. It is used to instantiate different classes such as the StopCommand class and StopState class. "^^xsd:string ; + rdfs:label "Stop"^^xsd:string . + + +### https://w3id.org/saref#Toggle +saref:Toggle rdf:type owl:NamedIndividual , + saref:ToggleCommand ; + rdfs:comment "The value TOGGLE. It is used to instantiate the the ToggleCommand class"^^xsd:string ; + rdfs:label "Toggle"^^xsd:string . + + +### https://w3id.org/saref#Washing +saref:Washing rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Washing"^^xsd:string . + + +### https://w3id.org/saref#WellBeing +saref:WellBeing rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "WellBeing"^^xsd:string . + + +### https://w3id.org/saref#watt_hour +saref:watt_hour rdf:type owl:NamedIndividual , + saref:EnergyUnit ; + rdfs:comment "The Watt Hor is a unit of energy equivalent to one watt (1 W) of power expended for one hour (1 h) of time. An energy expenditure of 1 Wh represents 3600 joules "^^xsd:string ; + rdfs:label "watt hour"^^xsd:string . + + +### Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/catalog-v001.xml b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/catalog-v001.xml new file mode 100644 index 0000000000000000000000000000000000000000..25cd0e812b6237da827891d5c64869f98531993a --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/catalog-v001.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<catalog prefer="public" xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> + <group id="Folder Repository, directory=, recursive=true, Auto-Update=true, version=2" prefer="public" xml:base=""/> +</catalog> diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/doorswitch.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/doorswitch.ttl new file mode 100644 index 0000000000000000000000000000000000000000..5332cc9e04bb55f96972c512ad9258b190ec4680 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/doorswitch.ttl @@ -0,0 +1,80 @@ +# baseURI: http://ontology.tno.nl/saref/doorswitch +# imports: https://w3id.org/saref + +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix saref-ds: <http://ontology.tno.nl/saref/doorswitch#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<http://ontology.tno.nl/saref/doorswitch> + rdf:type owl:Ontology ; + owl:imports <https://w3id.org/saref> ; +. +saref-ds:BuildingObject_MainDoor + rdf:type saref:Door ; + rdfs:label "Building object Main door"^^xsd:string ; +. +saref-ds:BuildingSpace_OfficeHall + rdf:type saref:BuildingSpace ; + rdfs:label "Office Hall"^^xsd:string ; + geo:lat "52.0821"^^xsd:string ; + geo:long "4.3251"^^xsd:string ; + saref:contains saref-ds:BuildingObject_MainDoor ; + saref:hasSpaceType "Office hall"^^xsd:string ; +. +saref-ds:CloseCommand + rdf:type saref:CloseCommand ; + rdfs:label "CLOSE command "^^xsd:string ; + saref:actsUpon saref-ds:OpenState ; +. +saref-ds:CloseDoorService + rdf:type saref:Service ; + rdfs:label "CLOSE Door service "^^xsd:string ; + saref:hasInputParameter saref-ds:OpenState ; + saref:hasOutputParameter saref-ds:CloseState ; + saref:isOfferedBy saref-ds:DoorSwitch_DS3001 ; + saref:represents saref-ds:OpenCloseFunction ; +. +saref-ds:CloseState + rdf:type saref:CloseState ; + rdfs:label "CLOSE state"^^xsd:string ; +. +saref-ds:Comfort + rdf:type saref:Task ; + rdfs:label "Comfort"^^xsd:string ; +. +saref-ds:DoorSwitch_DS001 + rdf:type saref:DoorSwitch ; + rdfs:label "Door switch DS3001"^^xsd:string ; + saref:IsUsedFor saref-ds:BuildingObject_MainDoor ; + saref:accomplishes saref-ds:Comfort ; + saref:consistsOf saref:Switch ; + saref:hasCategory saref:Actuator ; + saref:hasDescription "Door switch DS3001 is an example of how to instantiate a door switch using SAREF"^^xsd:string ; + saref:hasFunction saref-ds:OpenCloseFunction ; + saref:hasManufacturer "manufacturer-mno"^^xsd:string ; + saref:hasModel "mno-DS3001-16"^^xsd:string ; + saref:hasState saref-ds:CloseState ; + saref:hasState saref-ds:OpenState ; + saref:isLocatedIn saref-ds:BuildingSpace_OfficeHall ; + saref:offers saref-ds:CloseDoorService ; +. +saref-ds:OpenCloseFunction + rdf:type saref:OpenCloseFunction ; + rdfs:label "OPEN CLOSE function "^^xsd:string ; + saref:hasCommand saref-ds:CloseCommand ; + saref:hasCommand saref-ds:OpenCommand ; +. +saref-ds:OpenCommand + rdf:type saref:OpenCommand ; + rdfs:label "OPEN command"^^xsd:string ; + saref:actsUpon saref-ds:CloseState ; +. +saref-ds:OpenState + rdf:type saref:OpenState ; + rdfs:label "Open state"^^xsd:string ; +. diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/energymeter.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/energymeter.ttl new file mode 100644 index 0000000000000000000000000000000000000000..51512aa1d35070cbc69e4d61f77febd0924370c8 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/energymeter.ttl @@ -0,0 +1,73 @@ +# baseURI: http://ontology.tno.nl/saref/energymeter +# imports: https://w3id.org/saref + +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix saref-em: <http://ontology.tno.nl/saref/energymeter#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<http://ontology.tno.nl/saref/energymeter> + rdf:type owl:Ontology ; + owl:imports <https://w3id.org/saref> ; +. +saref-em:Efficiency + rdf:type saref:Task ; + rdfs:label "Efficiency"^^xsd:string ; +. +saref-em:Energy + rdf:type saref:Energy ; + rdfs:label "Energy "^^xsd:string ; + saref:hasValue "not applicable"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour> ; +. +saref-em:EnergyMeter_EM5004 + rdf:type saref:EnergyMeter ; + rdfs:label "Energy meter EM5004"^^xsd:string ; + saref:IsUsedFor saref-em:Energy ; + saref:accomplishes saref-em:Efficiency ; + saref:hasCategory saref:Meter ; + saref:hasDescription "Energy meter EM5004 is an example of how to instantiate an energy meter using SAREF"^^xsd:string ; + saref:hasFunction saref-em:MeteringFunction ; + saref:hasManufacturer "manufacturer_stv"^^xsd:string ; + saref:hasModel "EM5004-stv-16"^^xsd:string ; + saref:offers saref-em:MeasureEnergyService ; +. +saref-em:Energy_value1 + rdf:type saref:Energy ; + rdfs:label "Energy value1"^^xsd:string ; + saref:hasValue "1"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour> ; +. +saref-em:GetCurrentMeterValueCommand + rdf:type saref:GetCurrentMeterValueCommand ; + rdfs:label "Get current meter value command"^^xsd:string ; + saref:isCommandOf saref-em:MeteringFunction ; +. +saref-em:Instant_1 + rdf:type time:Instant ; + rdfs:label "Instant 1"^^xsd:string ; + time:inXSDDateTime "2015-03-17T11:10:50.53"^^xsd:dateTime ; +. +saref-em:MeasureEnergyService + rdf:type saref:Service ; + rdfs:label "Measure energy service"^^xsd:string ; + saref:hasOutputParameter saref-em:Energy ; + saref:isOfferedBy saref-em:EnergyMeter_EM5004 ; + saref:represents saref-em:MeteringFunction ; +. +saref-em:MeteringFunction + rdf:type saref:MeteringFunction ; + rdfs:label "Metering function "^^xsd:string ; + saref:hasCommand saref-em:GetCurrentMeterValueCommand ; + saref:hasMeterReadingTime saref-em:Time_value1 ; + saref:hasMeterReadingType "Energy"^^xsd:string ; + saref:hasMeterReadingValue saref-em:Energy_value1 ; +. +saref-em:Time_value1 + rdf:type saref:Time ; + rdfs:label "Time value 1"^^xsd:string ; + saref:consistsOf saref-em:Instant_1 ; +. diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/lightswitch.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/lightswitch.ttl new file mode 100644 index 0000000000000000000000000000000000000000..1091c0524c2c9381b4a593f7c165f697124286e8 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/lightswitch.ttl @@ -0,0 +1,82 @@ +# baseURI: http://ontology.tno.nl/saref/lightswitch +# imports: https://w3id.org/saref + +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix saref-ls: <http://ontology.tno.nl/saref/lightswitch#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<http://ontology.tno.nl/saref/lightswitch> + rdf:type owl:Ontology ; + owl:imports <https://w3id.org/saref> ; +. +saref-ls:BuildingSpace_OfficeHall + rdf:type saref:BuildingSpace ; + rdfs:label "Office Hall"^^xsd:string ; + geo:lat "52.0821"^^xsd:string ; + geo:long "4.3251"^^xsd:string ; + saref:hasSpaceType "Office hall"^^xsd:string ; +. +saref-ls:Light + rdf:type saref:Light ; + rdfs:label "Light "^^xsd:string ; + saref:hasValue "not applicable"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/lux> ; +. +saref-ls:LightSwitch_LS1001 + rdf:type saref:LightSwitch ; + rdfs:label "Light switch LS1001"^^xsd:string ; + saref:IsUsedFor saref-ls:Light ; + saref:accomplishes saref-ls:Lighting ; + saref:consistsOf saref:Switch ; + saref:hasCategory saref:Actuator ; + saref:hasDescription "Light switch LS1001 is an example of how to instantiate a light switch using SAREF"^^xsd:string ; + saref:hasFunction saref-ls:OnOffFunction ; + saref:hasManufacturer "manufacturer-abc"^^xsd:string ; + saref:hasModel "890-09w"^^xsd:string ; + saref:hasState saref-ls:OffState ; + saref:hasState saref-ls:OnState ; + saref:isLocatedIn saref-ls:BuildingSpace_OfficeHall ; + saref:offers saref-ls:SwitchOnService ; +. +saref-ls:Lighting + rdf:type saref:Task ; + rdfs:label "Lighting"^^xsd:string ; + saref:isAccomplishedBy saref-ls:LightSwitch_LS1001 ; +. +saref-ls:OffCommand + rdf:type saref:OffCommand ; + rdfs:label "OFF command "^^xsd:string ; + saref:actsUpon saref-ls:OnState ; +. +saref-ls:OffState + rdf:type saref:OffState ; + rdfs:label "OFF state"^^xsd:string ; +. +saref-ls:OnCommand + rdf:type saref:OnCommand ; + rdfs:label "ON command"^^xsd:string ; + saref:actsUpon saref-ls:OffState ; +. +saref-ls:OnOffFunction + rdf:type saref:OnOffFunction ; + rdfs:label "ON OFF function "^^xsd:string ; + saref:hasCommand saref-ls:OffCommand ; + saref:hasCommand saref-ls:OnCommand ; +. +saref-ls:OnState + rdf:type saref:OnState ; + rdfs:label "ON state"^^xsd:string ; +. +saref-ls:SwitchOnService + rdf:type saref:SwitchOnService ; + rdfs:label "Switch ON service "^^xsd:string ; + saref:hasInputParameter saref-ls:OffState ; + saref:hasOutputParameter saref-ls:OnState ; + saref:isOfferedBy saref-ls:LightSwitch_LS1001 ; + saref:represents saref-ls:OnOffFunction ; +. diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/smokesensor.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/smokesensor.ttl new file mode 100644 index 0000000000000000000000000000000000000000..110401bbc019da7d77a94e8f7b1ffa2211da56a6 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/smokesensor.ttl @@ -0,0 +1,121 @@ +# baseURI: http://ontology.tno.nl/saref/smokesensor +# imports: https://w3id.org/saref + +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix saref-ss: <http://ontology.tno.nl/saref/smokesensor#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<http://ontology.tno.nl/saref/smokesensor> + rdf:type owl:Ontology ; + owl:imports <https://w3id.org/saref> ; +. +saref-ss:Audio + rdf:type saref:Property ; + rdfs:label "Audio"^^xsd:string ; + saref:hasValue "70"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.6/decibel> ; +. +saref-ss:BuildingObject_Window + rdf:type saref:Window ; + rdfs:label "Window"^^xsd:string ; +. +saref-ss:BuildingSpace_HotelRoom + rdf:type saref:BuildingSpace ; + rdfs:label "Hotel room"^^xsd:string ; + geo:lat "52.0705"^^xsd:string ; + geo:long "4.30070"^^xsd:string ; + saref:contains <http://ontology.tno.nl/saref/tempsensor#BuildingObject_window> ; + saref:hasSpaceType "Hotel room"^^xsd:string ; +. +saref-ss:Comfort + rdf:type saref:Task ; + rdfs:label "Comfort"^^xsd:string ; +. +saref-ss:EventFunction + rdf:type saref:EventFunction ; + rdfs:label "Event function"^^xsd:string ; + saref:hasCommand saref-ss:NotifyCommand ; + saref:hasThreshold saref-ss:Smoke_threshold_value ; +. +saref-ss:GetSensingDataCommand + rdf:type saref:GetCommand ; + rdfs:comment "The GetSensingDataCommand does not act upon any state, since it only gives a directive to retrieve a certain value."^^xsd:string ; + rdfs:label "Get sensing data command"^^xsd:string ; + saref:isCommandOf saref-ss:SensingFunction ; +. +saref-ss:NotifyCommand + rdf:type saref:NotifyCommand ; + rdfs:label "Notify command"^^xsd:string ; + saref:isCommandOf saref-ss:EventFunction ; +. +saref-ss:OffState + rdf:type saref:OffState ; + rdfs:label "OFF state"^^xsd:string ; +. +saref-ss:OnState + rdf:type saref:OnState ; + rdfs:label "ON state"^^xsd:string ; +. +saref-ss:SenseSmoke + rdf:type saref:Service ; + rdfs:label "Sense smoke"^^xsd:string ; + saref:hasInputParameter saref-ss:Smoke ; + saref:hasOutputParameter saref-ss:Smoke ; + saref:isOfferedBy saref-ss:SmokeSensor_SS4001 ; + saref:represents saref-ss:SensingFunction ; +. +saref-ss:SensingFunction + rdf:type saref:SensingFunction ; + rdfs:label "Sensing function"^^xsd:string ; + saref:hasCommand saref-ss:GetSensingDataCommand ; + saref:hasSensorType "Smoke"^^xsd:string ; +. +saref-ss:Smoke + rdf:type saref:Smoke ; + rdfs:label "Smoke"^^xsd:string ; +. +saref-ss:SmokeAlarm + rdf:type saref:Service ; + rdfs:label "Smoke alarm"^^xsd:string ; + saref:hasInputParameter saref-ss:Smoke ; + saref:hasOutputParameter saref-ss:Audio ; + saref:isOfferedBy saref-ss:SmokeSensor_SS4001 ; + saref:represents saref-ss:EventFunction ; +. +saref-ss:SmokeSensor_SS4001 + rdf:type saref:SmokeSensor ; + rdfs:label "Smoke sensor SS4001"^^xsd:string ; + saref:IsUsedFor saref-ss:Smoke ; + saref:accomplishes saref:Safety ; + saref:hasCategory saref:Sensor ; + saref:hasDescription "Temperature sensor TS2001 is an example of how to instantiate a temperature sensor using SAREF"^^xsd:string ; + saref:hasFunction saref-ss:EventFunction ; + saref:hasFunction saref-ss:SensingFunction ; + saref:hasManufacturer "manufacturer-ccsd"^^xsd:string ; + saref:hasModel "SS-4001-ccsd-15"^^xsd:string ; + saref:hasState saref-ss:OffState ; + saref:hasState saref-ss:OnState ; + saref:isLocatedIn saref-ss:BuildingSpace_HotelRoom ; + saref:offers saref-ss:SenseSmoke ; + saref:offers saref-ss:SmokeAlarm ; +. +saref-ss:SmokeUnit + rdf:type saref:UnitOfMeasure ; + rdfs:label "Smoke unit"^^xsd:string ; +. +saref-ss:Smoke_threshold_value + rdf:type saref:Smoke ; + rdfs:label "Smoke threshold value"^^xsd:string ; + saref:hasValue "00000"^^xsd:string ; + saref:isMeasuredIn saref-ss:SmokeUnit ; +. +saref-ss:Temperature + rdf:type saref:Temperature ; + rdfs:label "Temperature"^^xsd:string ; + saref:hasValue "not applicable"^^xsd:string ; +. diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/temperaturesensor.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/temperaturesensor.ttl new file mode 100644 index 0000000000000000000000000000000000000000..5a10ba584a8944cc7224b9eecb4303d3502bbb2f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/temperaturesensor.ttl @@ -0,0 +1,80 @@ +# baseURI: http://ontology.tno.nl/saref/tempsensor +# imports: https://w3id.org/saref + +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix saref-ts: <http://ontology.tno.nl/saref/tempsensor#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<http://ontology.tno.nl/saref/tempsensor> + rdf:type owl:Ontology ; + owl:imports <https://w3id.org/saref> ; +. +saref-ts:BuildingObject_Window + rdf:type saref:Window ; + rdfs:label "Window"^^xsd:string ; +. +saref-ts:BuildingSpace_HotelRoom + rdf:type saref:BuildingSpace ; + rdfs:label "Hotel room"^^xsd:string ; + geo:lat "52.0705"^^xsd:string ; + geo:long "4.30070"^^xsd:string ; + saref:contains saref-ts:BuildingObject_window ; + saref:hasSpaceType "Hotel room"^^xsd:string ; +. +saref-ts:Comfort + rdf:type saref:Task ; + rdfs:label "Comfort"^^xsd:string ; +. +saref-ts:GetSensingDataCommand + rdf:type saref:GetCommand ; + rdfs:comment "The GetSensingDataCommand does not act upon any state, since it only gives a directive to retrieve a certain value."^^xsd:string ; + rdfs:label "Get sensing data command"^^xsd:string ; + saref:isCommandOf saref-ts:SensingFunction ; +. +saref-ts:OffState + rdf:type saref:OffState ; + rdfs:label "OFF state"^^xsd:string ; +. +saref-ts:OnState + rdf:type saref:OnState ; + rdfs:label "ON state"^^xsd:string ; +. +saref-ts:SenseTemperature + rdf:type saref:Service ; + rdfs:label "Sense temperature"^^xsd:string ; + saref:hasInputParameter saref-ts:Temperature ; + saref:hasOutputParameter saref-ts:Temperature ; + saref:isOfferedBy saref-ts:TemperatureSensor_TS2001 ; + saref:represents saref-ts:SensingFunction ; +. +saref-ts:SensingFunction + rdf:type saref:SensingFunction ; + rdfs:label "Sensing function"^^xsd:string ; + saref:hasCommand saref-ts:GetSensingDataCommand ; + saref:hasSensorType "Temperature"^^xsd:string ; +. +saref-ts:Temperature + rdf:type saref:Temperature ; + rdfs:label "Temperature"^^xsd:string ; + saref:hasValue "not applicable"^^xsd:string ; +. +saref-ts:TemperatureSensor_TS2001 + rdf:type saref:TemperatureSensor ; + rdfs:label "Temperature sensor TS2001"^^xsd:string ; + saref:IsUsedFor saref-ts:Temperature ; + saref:accomplishes saref-ts:Comfort ; + saref:hasCategory saref:Sensor ; + saref:hasDescription "Temperature sensor TS2001 is an example of how to instantiate a temperature sensor using SAREF"^^xsd:string ; + saref:hasFunction saref-ts:SensingFunction ; + saref:hasManufacturer "manufacturer-efg"^^xsd:string ; + saref:hasModel "153899L"^^xsd:string ; + saref:hasState saref-ts:OffState ; + saref:hasState saref-ts:OnState ; + saref:isLocatedIn saref-ts:BuildingSpace_HotelRoom ; + saref:offers saref-ts:SenseTemperature ; +. diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/time.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/time.ttl new file mode 100644 index 0000000000000000000000000000000000000000..9f33471904babe9aacb1872abfbe9db8245dba0e --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/time.ttl @@ -0,0 +1,15 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . + +<https://saref.etsi.org/saref/latest/example/time> + rdf:type owl:Ontology ; + owl:imports <https://saref.etsi.org/saref#> . + +### http://www.w3.org/2006/time#TemporalUnit +time:TemporalUnit rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for time"^^xsd:string . + diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/washingmachine.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/washingmachine.ttl new file mode 100644 index 0000000000000000000000000000000000000000..a6cb5116b2bf10dcdc791989f71ae5932d866b2e --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/example/washingmachine.ttl @@ -0,0 +1,118 @@ +# baseURI: http://ontology.tno.nl/saref/washingmachine +# imports: https://w3id.org/saref + +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix saref-wm: <http://ontology.tno.nl/saref/washingmachine#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<http://ontology.tno.nl/saref/washingmachine> + rdf:type owl:Ontology ; + owl:imports <https://w3id.org/saref> ; +. +saref-wm:BuildingSpace_LaundryRoom + rdf:type saref:BuildingSpace ; + rdfs:label "Laundry room"^^xsd:string ; + saref:contains saref-wm:WashingMachine_WM802 ; + saref:hasSpaceType "Laundry room"^^xsd:string ; +. +saref-wm:Instant_1 + rdf:type time:Instant ; + rdfs:label "Instant 1"^^xsd:string ; + time:inXSDDateTime "2015-03-17T11:10:50.53"^^xsd:dateTime ; +. +saref-wm:Instant_2 + rdf:type time:Instant ; + rdfs:label "Instant 2"^^xsd:string ; + time:inXSDDateTime "2015-03-17T12:30:51.116"^^xsd:dateTime ; +. +saref-wm:Interval_1 + rdf:type time:Interval ; + rdfs:label "Interval 1"^^xsd:string ; + time:hasBeginning saref-wm:Instant_1 ; + time:hasEnd saref-wm:Instant_2 ; +. +saref-wm:OnOffFunction_1 + rdf:type saref:OnOffFunction ; + rdfs:label "On off function 1"^^xsd:string ; +. +saref-wm:Power_value1 + rdf:type saref:Power ; + rdfs:label "Power value 1"^^xsd:string ; + saref:hasValue "0.65"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/kilowatt> ; +. +saref-wm:Power_value2 + rdf:type saref:Power ; + rdfs:label "Power value2"^^xsd:string ; + saref:hasValue "0.40"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/kilowatt> ; +. +saref-wm:Price_value1 + rdf:type saref:Price ; + rdfs:label "Price value1"^^xsd:string ; + saref:hasValue "0.2"^^xsd:string ; + saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/euro> ; +. +saref-wm:Profile_1 + rdf:type saref:Profile ; + rdfs:label "Profile 1"^^xsd:string ; + saref:hasConsumption saref-wm:Power_value2 ; + saref:hasPrice saref-wm:Price_value1 ; + saref:isFlexible "true"^^xsd:boolean ; + saref:isInterruptionPossible "false"^^xsd:boolean ; +. +saref-wm:StartCommand + rdf:type saref:StartCommand ; + rdfs:label "START command "^^xsd:string ; + saref:actsUpon saref-wm:StopState ; + saref:isCommandOf saref-wm:StartStopFunction ; +. +saref-wm:StartService + rdf:type saref:Service ; + rdfs:label "Start service 1"^^xsd:string ; + saref:hasInputParameter saref-wm:StopState ; + saref:hasOutputParameter saref-wm:StartState ; + saref:isOfferedBy saref-wm:WashingMachine_WM802 ; + saref:represents saref-wm:StartStopFunction ; +. +saref-wm:StartState + rdf:type saref:StartState ; + rdfs:label "Start state"^^xsd:string ; +. +saref-wm:StartStopFunction + rdf:type saref:StartStopFunction ; + rdfs:label "Start stop function "^^xsd:string ; + saref:hasCommand saref-wm:StartCommand ; + saref:hasCommand saref-wm:StopCommand ; +. +saref-wm:StopCommand + rdf:type saref:StopCommand ; + rdfs:label "STOP command "^^xsd:string ; + saref:actsUpon saref-wm:StartState ; + saref:isCommandOf saref-wm:StartStopFunction ; +. +saref-wm:StopState + rdf:type saref:StopState ; + rdfs:label "Stop state"^^xsd:string ; +. +saref-wm:WashingMachine_WM802 + rdf:type saref:WashingMachine ; + rdfs:label "Washing machine WM802"^^xsd:string ; + saref:accomplishes saref:Washing ; + saref:hasCategory saref:Appliance ; + saref:hasCategory saref:Load ; + saref:hasDescription "Washing machine WM802 is an example of how to instantiate a washing machine using SAREF"^^xsd:string ; + saref:hasFunction saref-wm:StartStopFunction ; + saref:hasManufacturer "manufacturer-hgfds"^^xsd:string ; + saref:hasModel "45609WQ"^^xsd:string ; + saref:hasProfile saref-wm:Profile_1 ; + saref:hasState saref-wm:StartState ; + saref:hasState saref-wm:StopState ; + saref:hasTypicalConsumption saref-wm:Power_value1 ; + saref:isLocatedIn saref-wm:BuildingSpace_LaundryRoom ; + saref:offers saref-wm:StartService ; +. diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/oldsaref-to-slash.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/oldsaref-to-slash.ttl new file mode 100644 index 0000000000000000000000000000000000000000..40250a82f8281f3e5cba99c889865356b6d38c50 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/oldsaref-to-slash.ttl @@ -0,0 +1,802 @@ +@prefix om: <http://www.wurvoc.org/vocabularies/om-1.8/> . +@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 foaf: <http://xmlns.com/foaf/0.1/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix vann: <http://purl.org/vocab/vann/> . + +@prefix oldsaref: <https://w3id.org/saref#> . +@prefix saref: <https://saref.etsi.org/saref/> . +@base <https://saref.etsi.org/saref/> . + +<https://w3id.org/saref#> rdf:type owl:Ontology ; + dcterms:title "SAREF ontology with former namespace"@en ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + rdfs:comment "This ontology is SAREF v2.1.1 with the former namespace https://w3id.org/saref# . You should migrate to the official ETSI SAREF namespace https://saref.etsi.org/saref/ . No backward compatibility with the former namespace will be ensured for future releases of SAREF." ; + owl:imports <https://saref.etsi.org/saref/v2.1.1/saref/> ; + dcterms:publisher <https://www.etsi.org/> . + +oldsaref:accomplishes a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:accomplishes . + +oldsaref:actsUpon a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:actsUpon . + +oldsaref:consistsOf a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:consistsOf . + +oldsaref:controlsProperty a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:controlsProperty . + +oldsaref:hasCommand a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasCommand . + +oldsaref:hasFunction a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasFunction . + +oldsaref:hasMeterReading a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasMeterReading . + +oldsaref:hasMeterReadingType a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasMeterReadingType . + +oldsaref:hasPrice a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasPrice . + +oldsaref:hasProfile a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasProfile . + +oldsaref:hasSensingRange a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasSensingRange . + +oldsaref:hasSensorType a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasSensorType . + +oldsaref:hasState a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasState . + +oldsaref:hasThresholdMeasurement a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasThresholdMeasurement . + +oldsaref:hasTime a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasTime . + +oldsaref:hasTypicalConsumption a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasTypicalConsumption . + +oldsaref:isAbout a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isAbout . + +oldsaref:isAccomplishedBy a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isAccomplishedBy . + +oldsaref:isCommandOf a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isCommandOf . + +oldsaref:isControlledByDevice a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isControlledByDevice . + +oldsaref:isMeasuredByDevice a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isMeasuredByDevice . + +oldsaref:isMeasuredIn a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isMeasuredIn . + +oldsaref:isOfferedBy a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isOfferedBy . + +oldsaref:isUsedFor a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:isUsedFor . + +oldsaref:makesMeasurement a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:makesMeasurement . + +oldsaref:measuresProperty a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:measuresProperty . + +oldsaref:offers a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:offers . + +oldsaref:relatesToMeasurement a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:relatesToMeasurement . + +oldsaref:relatesToProperty a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:relatesToProperty . + +oldsaref:represents a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:represents . + +oldsaref:hasDescription a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasDescription . + +oldsaref:hasManufacturer a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasManufacturer . + +oldsaref:hasModel a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasModel . + +oldsaref:hasName a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasName . + +oldsaref:hasTimestamp a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasTimestamp . + +oldsaref:hasValue a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentProperty saref:hasValue . + +oldsaref:ActuatingFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:ActuatingFunction . + +oldsaref:Actuator a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Actuator . + +oldsaref:Appliance a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Appliance . + +oldsaref:BuildingRelated a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:BuildingRelated . + +oldsaref:CloseCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:CloseCommand . + +oldsaref:CloseState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:CloseState . + +oldsaref:Coal a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Coal . + +oldsaref:Command a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Command . + +oldsaref:Commodity a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Commodity . + +oldsaref:Currency a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Currency . + +oldsaref:Device a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Device . + +oldsaref:DoorSwitch a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:DoorSwitch . + +oldsaref:Electricity a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Electricity . + +oldsaref:Energy a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Energy . + +oldsaref:EnergyMeter a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:EnergyMeter . + +oldsaref:EnergyRelated a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:EnergyRelated . + +oldsaref:EnergyUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:EnergyUnit . + +oldsaref:EventFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:EventFunction . + +oldsaref:Function a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Function . + +oldsaref:FunctionRelated a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:FunctionRelated . + +oldsaref:Gas a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Gas . + +oldsaref:Generator a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Generator . + +oldsaref:GetCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:GetCommand . + +oldsaref:GetCurrentMeterValueCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:GetCurrentMeterValueCommand . + +oldsaref:GetMeterDataCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:GetMeterDataCommand . + +oldsaref:GetMeterHistoryCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:GetMeterHistoryCommand . + +oldsaref:GetSensingDataCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:GetSensingDataCommand . + +oldsaref:HVAC a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:HVAC . + +oldsaref:Humidity a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Humidity . + +oldsaref:IlluminanceUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:IlluminanceUnit . + +oldsaref:LevelControlFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:LevelControlFunction . + +oldsaref:Light a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Light . + +oldsaref:LightSwitch a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:LightSwitch . + +oldsaref:LightingDevice a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:LightingDevice . + +oldsaref:Load a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Load . + +oldsaref:Measurement a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Measurement . + +oldsaref:Meter a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Meter . + +oldsaref:MeteringFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:MeteringFunction . + +oldsaref:MicroRenewable a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:MicroRenewable . + +oldsaref:Motion a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Motion . + +oldsaref:MultiLevelState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:MultiLevelState . + +oldsaref:Multimedia a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Multimedia . + +oldsaref:Network a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Network . + +oldsaref:NotifyCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:NotifyCommand . + +oldsaref:Occupancy a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Occupancy . + +oldsaref:OffCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OffCommand . + +oldsaref:OffState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OffState . + +oldsaref:OnCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OnCommand . + +oldsaref:OnOffFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OnOffFunction . + +oldsaref:OnOffState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OnOffState . + +oldsaref:OnState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OnState . + +oldsaref:OpenCloseFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OpenCloseFunction . + +oldsaref:OpenCloseState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OpenCloseState . + +oldsaref:OpenCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OpenCommand . + +oldsaref:OpenState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:OpenState . + +oldsaref:PauseCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:PauseCommand . + +oldsaref:Power a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Power . + +oldsaref:PowerUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:PowerUnit . + +oldsaref:Pressure a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Pressure . + +oldsaref:PressureUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:PressureUnit . + +oldsaref:Price a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Price . + +oldsaref:Profile a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Profile . + +oldsaref:Property a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Property . + +oldsaref:SensingFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:SensingFunction . + +oldsaref:Sensor a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Sensor . + +oldsaref:Service a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Service . + +oldsaref:SetAbsoluteLevelCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:SetAbsoluteLevelCommand . + +oldsaref:SetLevelCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:SetLevelCommand . + +oldsaref:SetRelativeLevelCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:SetRelativeLevelCommand . + +oldsaref:Smoke a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Smoke . + +oldsaref:SmokeSensor a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:SmokeSensor . + +oldsaref:StartCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StartCommand . + +oldsaref:StartState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StartState . + +oldsaref:StartStopFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StartStopFunction . + +oldsaref:StartStopState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StartStopState . + +oldsaref:State a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:State . + +oldsaref:StepDownCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StepDownCommand . + +oldsaref:StepUpCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StepUpCommand . + +oldsaref:StopCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StopCommand . + +oldsaref:StopState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:StopState . + +oldsaref:Storage a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Storage . + +oldsaref:Switch a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Switch . + +oldsaref:SwitchOnService a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:SwitchOnService . + +oldsaref:Task a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Task . + +oldsaref:Temperature a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Temperature . + +oldsaref:TemperatureSensor a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:TemperatureSensor . + +oldsaref:TemperatureUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:TemperatureUnit . + +oldsaref:Time a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Time . + +oldsaref:ToggleCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:ToggleCommand . + +oldsaref:UnitOfMeasure a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:UnitOfMeasure . + +oldsaref:WashingMachine a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:WashingMachine . + +oldsaref:Water a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:equivalentClass saref:Water . + +oldsaref:Cleaning a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Cleaning . + +oldsaref:Close a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Close . + +oldsaref:Comfort a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Comfort . + +oldsaref:Drying a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Drying . + +oldsaref:EnergyEfficiency a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:EnergyEfficiency . + +oldsaref:Entertainment a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Entertainment . + +oldsaref:GetCurrentMeterValue a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:GetCurrentMeterValue . + +oldsaref:GetMeterData a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:GetMeterData . + +oldsaref:GetMeterHistory a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:GetMeterHistory . + +oldsaref:GetSensingData a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:GetSensingData . + +oldsaref:Lighting a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Lighting . + +oldsaref:MeterReading a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:MeterReading . + +oldsaref:Notify a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Notify . + +oldsaref:Off a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Off . + +oldsaref:On a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:On . + +oldsaref:Open a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Open . + +oldsaref:Pause a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Pause . + +oldsaref:Safety a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Safety . + +oldsaref:SetAbsoluteLevel a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:SetAbsoluteLevel . + +oldsaref:SetRelativeLevel a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:SetRelativeLevel . + +oldsaref:Start a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Start . + +oldsaref:StepDown a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:StepDown . + +oldsaref:StepUp a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:StepUp . + +oldsaref:Stop a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Stop . + +oldsaref:Toggle a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Toggle . + +oldsaref:Washing a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:Washing . + +oldsaref:WellBeing a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:WellBeing . + +oldsaref:watt_hour a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref/" ; + owl:sameAs saref:watt_hour . + diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/oldsaref.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/oldsaref.ttl new file mode 100644 index 0000000000000000000000000000000000000000..d80fd823f3ec8864248c3bdc1dbf382c63512f5f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/oldsaref.ttl @@ -0,0 +1,802 @@ +@prefix om: <http://www.wurvoc.org/vocabularies/om-1.8/> . +@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 foaf: <http://xmlns.com/foaf/0.1/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix vann: <http://purl.org/vocab/vann/> . + +@prefix oldsaref: <https://w3id.org/saref#> . +@prefix saref: <https://saref.etsi.org/saref#> . +@base <https://saref.etsi.org/saref#> . + +<https://w3id.org/saref#> rdf:type owl:Ontology ; + dcterms:title "SAREF ontology with former namespace"@en ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + rdfs:comment "This ontology is SAREF v2.1.1 with the former namespace https://w3id.org/saref# . You should migrate to the official ETSI SAREF namespace https://saref.etsi.org/saref# . No backward compatibility with the former namespace will be ensured for future releases of SAREF." ; + owl:imports <https://saref.etsi.org/saref/v2.1.1/saref#> ; + dcterms:publisher <https://www.etsi.org/> . + +oldsaref:accomplishes a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:accomplishes . + +oldsaref:actsUpon a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:actsUpon . + +oldsaref:consistsOf a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:consistsOf . + +oldsaref:controlsProperty a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:controlsProperty . + +oldsaref:hasCommand a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasCommand . + +oldsaref:hasFunction a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasFunction . + +oldsaref:hasMeterReading a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasMeterReading . + +oldsaref:hasMeterReadingType a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasMeterReadingType . + +oldsaref:hasPrice a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasPrice . + +oldsaref:hasProfile a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasProfile . + +oldsaref:hasSensingRange a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasSensingRange . + +oldsaref:hasSensorType a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasSensorType . + +oldsaref:hasState a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasState . + +oldsaref:hasThresholdMeasurement a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasThresholdMeasurement . + +oldsaref:hasTime a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasTime . + +oldsaref:hasTypicalConsumption a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasTypicalConsumption . + +oldsaref:isAbout a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isAbout . + +oldsaref:isAccomplishedBy a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isAccomplishedBy . + +oldsaref:isCommandOf a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isCommandOf . + +oldsaref:isControlledByDevice a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isControlledByDevice . + +oldsaref:isMeasuredByDevice a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isMeasuredByDevice . + +oldsaref:isMeasuredIn a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isMeasuredIn . + +oldsaref:isOfferedBy a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isOfferedBy . + +oldsaref:isUsedFor a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:isUsedFor . + +oldsaref:makesMeasurement a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:makesMeasurement . + +oldsaref:measuresProperty a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:measuresProperty . + +oldsaref:offers a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:offers . + +oldsaref:relatesToMeasurement a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:relatesToMeasurement . + +oldsaref:relatesToProperty a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:relatesToProperty . + +oldsaref:represents a owl:ObjectProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:represents . + +oldsaref:hasDescription a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasDescription . + +oldsaref:hasManufacturer a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasManufacturer . + +oldsaref:hasModel a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasModel . + +oldsaref:hasName a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasName . + +oldsaref:hasTimestamp a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasTimestamp . + +oldsaref:hasValue a owl:DatatypeProperty ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentProperty saref:hasValue . + +oldsaref:ActuatingFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:ActuatingFunction . + +oldsaref:Actuator a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Actuator . + +oldsaref:Appliance a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Appliance . + +oldsaref:BuildingRelated a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:BuildingRelated . + +oldsaref:CloseCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:CloseCommand . + +oldsaref:CloseState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:CloseState . + +oldsaref:Coal a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Coal . + +oldsaref:Command a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Command . + +oldsaref:Commodity a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Commodity . + +oldsaref:Currency a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Currency . + +oldsaref:Device a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Device . + +oldsaref:DoorSwitch a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:DoorSwitch . + +oldsaref:Electricity a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Electricity . + +oldsaref:Energy a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Energy . + +oldsaref:EnergyMeter a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:EnergyMeter . + +oldsaref:EnergyRelated a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:EnergyRelated . + +oldsaref:EnergyUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:EnergyUnit . + +oldsaref:EventFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:EventFunction . + +oldsaref:Function a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Function . + +oldsaref:FunctionRelated a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:FunctionRelated . + +oldsaref:Gas a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Gas . + +oldsaref:Generator a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Generator . + +oldsaref:GetCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:GetCommand . + +oldsaref:GetCurrentMeterValueCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:GetCurrentMeterValueCommand . + +oldsaref:GetMeterDataCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:GetMeterDataCommand . + +oldsaref:GetMeterHistoryCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:GetMeterHistoryCommand . + +oldsaref:GetSensingDataCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:GetSensingDataCommand . + +oldsaref:HVAC a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:HVAC . + +oldsaref:Humidity a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Humidity . + +oldsaref:IlluminanceUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:IlluminanceUnit . + +oldsaref:LevelControlFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:LevelControlFunction . + +oldsaref:Light a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Light . + +oldsaref:LightSwitch a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:LightSwitch . + +oldsaref:LightingDevice a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:LightingDevice . + +oldsaref:Load a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Load . + +oldsaref:Measurement a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Measurement . + +oldsaref:Meter a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Meter . + +oldsaref:MeteringFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:MeteringFunction . + +oldsaref:MicroRenewable a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:MicroRenewable . + +oldsaref:Motion a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Motion . + +oldsaref:MultiLevelState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:MultiLevelState . + +oldsaref:Multimedia a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Multimedia . + +oldsaref:Network a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Network . + +oldsaref:NotifyCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:NotifyCommand . + +oldsaref:Occupancy a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Occupancy . + +oldsaref:OffCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OffCommand . + +oldsaref:OffState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OffState . + +oldsaref:OnCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OnCommand . + +oldsaref:OnOffFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OnOffFunction . + +oldsaref:OnOffState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OnOffState . + +oldsaref:OnState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OnState . + +oldsaref:OpenCloseFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OpenCloseFunction . + +oldsaref:OpenCloseState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OpenCloseState . + +oldsaref:OpenCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OpenCommand . + +oldsaref:OpenState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:OpenState . + +oldsaref:PauseCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:PauseCommand . + +oldsaref:Power a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Power . + +oldsaref:PowerUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:PowerUnit . + +oldsaref:Pressure a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Pressure . + +oldsaref:PressureUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:PressureUnit . + +oldsaref:Price a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Price . + +oldsaref:Profile a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Profile . + +oldsaref:Property a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Property . + +oldsaref:SensingFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:SensingFunction . + +oldsaref:Sensor a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Sensor . + +oldsaref:Service a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Service . + +oldsaref:SetAbsoluteLevelCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:SetAbsoluteLevelCommand . + +oldsaref:SetLevelCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:SetLevelCommand . + +oldsaref:SetRelativeLevelCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:SetRelativeLevelCommand . + +oldsaref:Smoke a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Smoke . + +oldsaref:SmokeSensor a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:SmokeSensor . + +oldsaref:StartCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StartCommand . + +oldsaref:StartState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StartState . + +oldsaref:StartStopFunction a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StartStopFunction . + +oldsaref:StartStopState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StartStopState . + +oldsaref:State a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:State . + +oldsaref:StepDownCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StepDownCommand . + +oldsaref:StepUpCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StepUpCommand . + +oldsaref:StopCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StopCommand . + +oldsaref:StopState a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:StopState . + +oldsaref:Storage a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Storage . + +oldsaref:Switch a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Switch . + +oldsaref:SwitchOnService a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:SwitchOnService . + +oldsaref:Task a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Task . + +oldsaref:Temperature a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Temperature . + +oldsaref:TemperatureSensor a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:TemperatureSensor . + +oldsaref:TemperatureUnit a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:TemperatureUnit . + +oldsaref:Time a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Time . + +oldsaref:ToggleCommand a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:ToggleCommand . + +oldsaref:UnitOfMeasure a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:UnitOfMeasure . + +oldsaref:WashingMachine a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:WashingMachine . + +oldsaref:Water a owl:Class ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:equivalentClass saref:Water . + +oldsaref:Cleaning a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Cleaning . + +oldsaref:Close a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Close . + +oldsaref:Comfort a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Comfort . + +oldsaref:Drying a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Drying . + +oldsaref:EnergyEfficiency a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:EnergyEfficiency . + +oldsaref:Entertainment a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Entertainment . + +oldsaref:GetCurrentMeterValue a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:GetCurrentMeterValue . + +oldsaref:GetMeterData a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:GetMeterData . + +oldsaref:GetMeterHistory a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:GetMeterHistory . + +oldsaref:GetSensingData a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:GetSensingData . + +oldsaref:Lighting a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Lighting . + +oldsaref:MeterReading a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:MeterReading . + +oldsaref:Notify a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Notify . + +oldsaref:Off a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Off . + +oldsaref:On a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:On . + +oldsaref:Open a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Open . + +oldsaref:Pause a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Pause . + +oldsaref:Safety a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Safety . + +oldsaref:SetAbsoluteLevel a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:SetAbsoluteLevel . + +oldsaref:SetRelativeLevel a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:SetRelativeLevel . + +oldsaref:Start a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Start . + +oldsaref:StepDown a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:StepDown . + +oldsaref:StepUp a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:StepUp . + +oldsaref:Stop a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Stop . + +oldsaref:Toggle a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Toggle . + +oldsaref:Washing a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:Washing . + +oldsaref:WellBeing a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:WellBeing . + +oldsaref:watt_hour a owl:NamedIndividual ; + owl:deprecated true ; + rdfs:comment "Consider using the official ETSI SAREF namespace https://saref.etsi.org/saref\#" ; + owl:sameAs saref:watt_hour . + diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.html b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.html new file mode 100644 index 0000000000000000000000000000000000000000..0a96975e52296808766636480fb12194924834f1 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF: the Smart Applications REFerence ontology</h1> + <p><strong>Official ETSI documentation for SAREF v2.1.1</strong><br>This page will soon contain the documentation of the SAREF ontology v2.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF v2.1.1 will be available here soon. The source of the ontology are available as <a href="./saref.ttl">Turtle</a> or <a href="./saref.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.n3 b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.n3 new file mode 100644 index 0000000000000000000000000000000000000000..ac283155f090b97bcf68708020d493ee0c0c756c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.n3 @@ -0,0 +1,1231 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix om: <http://www.wurvoc.org/vocabularies/om-1.8/> . + +saref:controlsProperty + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be controlled by a certain Device"@en ; + rdfs:label "controls property"@en . + +saref:On a saref:OnState , saref:OnCommand , owl:NamedIndividual ; + rdfs:comment "The value ON. It is used to instantiate different classes such as the OnCommand class and OnState class. " ; + rdfs:label "On" . + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:label "has timestamp"@en . + +saref:HVAC a owl:Class ; + rdfs:comment "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort" ; + rdfs:label "HVAC" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Comfort ; + owl:onProperty saref:accomplishes + ] . + +saref:OnCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "On command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OnOffState ; + owl:onProperty saref:actsUpon + ] . + +saref:GetSensingData a saref:GetSensingDataCommand , owl:NamedIndividual ; + rdfs:comment "The command GET SENSING DATA. It is used to instantiate the GetSensingDataCommand class. " ; + rdfs:label "Get sensing data" . + +om:lux a saref:IlluminanceUnit , owl:NamedIndividual ; + rdfs:comment "The lux is a unit of illuminance defined as lumen divided by square metre = candela times steradian divided by square metre."@en ; + rdfs:label "lux" . + +saref:StopCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Stop command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:StartStopState ; + owl:onProperty saref:actsUpon + ] . + +saref:GetSensingDataCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get sensing data command" ; + rdfs:subClassOf saref:GetCommand . + +saref:NotifyCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Notify command" ; + rdfs:subClassOf saref:Command . + +saref:GetCurrentMeterValue + a saref:GetCurrentMeterValueCommand , owl:NamedIndividual ; + rdfs:comment "The command GET CURRENT METER VALUE. It is used to instantiate the GetCurrentMeterValueCommand class. " ; + rdfs:label "Get current meter value" . + +saref:SetRelativeLevelCommand + a owl:Class ; + rdfs:comment "A type of set level command" ; + rdfs:label "Set relative level command" ; + rdfs:subClassOf saref:SetLevelCommand . + +saref:StartStopState a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "Start stop state" ; + rdfs:subClassOf saref:State . + +saref:isUsedFor a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)" ; + rdfs:label "is used for" . + +saref:isAbout a owl:ObjectProperty ; + rdfs:comment "A relationship identifying what an entity, such as a Profile, is about"@en ; + rdfs:label "isAbout"@en . + +saref:FunctionRelated + a owl:Class ; + rdfs:comment "A category that considers devices, sensors and their specification in terms of functions, states and services" ; + rdfs:label "Function related" ; + rdfs:subClassOf saref:Device . + +saref:Stop a saref:StopState , saref:StopCommand , owl:NamedIndividual ; + rdfs:comment "The value STOP. It is used to instantiate different classes such as the StopCommand class and StopState class. " ; + rdfs:label "Stop" . + +saref:SetRelativeLevel + a saref:SetRelativeLevelCommand , owl:NamedIndividual ; + rdfs:comment "The value SET RELATIVE LEVEL. It is used to instantiate classes such as the SetRelativeLevelCommand class. " ; + rdfs:label "Set relative level" . + +saref:LevelControlFunction + a owl:Class ; + rdfs:comment "An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. " ; + rdfs:label "Level control function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:SetAbsoluteLevelCommand saref:SetRelativeLevelCommand saref:StepDownCommand saref:StepUpCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:GetMeterData a saref:GetMeterDataCommand , owl:NamedIndividual ; + rdfs:comment "The command GET METER DATA. It is used to instantiate the GetMeterDataCommand class. " ; + rdfs:label "Get meter data" . + +saref:State a owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "State" . + +saref:Meter a owl:Class ; + rdfs:comment "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction." ; + rdfs:label "Meter" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:MeteringFunction + ] . + +saref:GetCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Get command" ; + rdfs:subClassOf saref:Command . + +saref:PressureUnit a owl:Class ; + rdfs:comment "The unit of measure for pressure" ; + rdfs:label "Pressure unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:GetCurrentMeterValueCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get current meter value command" ; + rdfs:subClassOf saref:GetCommand . + +saref:OnOffState a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "On off state" ; + rdfs:subClassOf saref:State . + +saref:Power a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined." ; + rdfs:label "Power" ; + rdfs:subClassOf saref:Property . + +saref:hasModel a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)" ; + rdfs:label "has model" ; + rdfs:range xsd:string . + +saref:EnergyMeter a owl:Class ; + rdfs:comment "An energy meter is a device of category saref:Meter that consists of a meter, accomplishes the tasks saref:MeterReading and saref:EnergyEfficiency, performs the saref:MeteringFunction and is used for the purpose of measuring the saref:Energy property" ; + rdfs:label "Energy meter" ; + rdfs:subClassOf saref:Meter ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:MeterReading ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:EnergyEfficiency ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Energy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Meter + ] . + +saref:Start a saref:StartState , saref:StartCommand , owl:NamedIndividual ; + rdfs:comment "The value START. It is used to instantiate different classes such as the StartCommand class and StartState class. " ; + rdfs:label "Start" . + +saref:Temperature a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)" ; + rdfs:label "Temperature" ; + rdfs:subClassOf saref:Property . + +saref:OnOffFunction a owl:Class ; + rdfs:comment "An actuating function that allows to switch on and off an actuator" ; + rdfs:label "On off function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:OffCommand saref:OnCommand saref:ToggleCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:comment "A relationship between a measurement and the property it relates to" ; + rdfs:label "relates to property"@en . + +saref:MicroRenewable a owl:Class ; + rdfs:comment "A device that generates renewable energy from natural resources such as teh sun, wind and water" ; + rdfs:label "Micro renewable" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:EnergyEfficiency ; + owl:onProperty saref:accomplishes + ] . + +om:kilowatt a saref:PowerUnit , owl:NamedIndividual ; + rdfs:label "kilowatt" . + +saref:isControlledByDevice + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can control a certain property"@en ; + rdfs:label "is controlled by device" . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)." ; + rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ; + rdfs:label "Unit of measure" . + +saref:Pressure a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)" ; + rdfs:label "Pressure" ; + rdfs:subClassOf saref:Property . + +saref:Price a owl:Class ; + rdfs:comment "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency" ; + rdfs:label "Price" ; + rdfs:subClassOf saref:Property . + +saref:ActuatingFunction + a owl:Class ; + rdfs:comment "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)" ; + rdfs:label "Actuating function" ; + rdfs:subClassOf saref:Function . + +saref:hasState a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of state of a device" ; + rdfs:label "has state" . + +saref:CloseState a owl:Class ; + rdfs:comment "The state of a device that is CLOSE" ; + rdfs:label "Close state" ; + rdfs:subClassOf saref:OpenCloseState . + +saref:OffState a owl:Class ; + rdfs:comment "The state of a device that is ON" ; + rdfs:label "Off state" ; + rdfs:subClassOf saref:OnOffState . + +saref:Close a saref:CloseState , saref:CloseCommand , owl:NamedIndividual ; + rdfs:comment "The value CLOSE. It is used to instantiate different classes such as the CloseCommand class and CloseState class, for example. " ; + rdfs:label "Close" . + +saref:WellBeing a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "WellBeing" . + +saref:MeterReading a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Meter reading" . + +saref:hasName a owl:DatatypeProperty ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)" ; + rdfs:label "has name" ; + rdfs:range xsd:string . + +saref:Occupancy a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy" ; + rdfs:label "Occupancy" ; + rdfs:subClassOf saref:Property . + +saref:OpenCloseState a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "Open close state" ; + rdfs:subClassOf saref:State . + +saref:Service a owl:Class ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented." ; + rdfs:label "Service" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:represents + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device ; + owl:onProperty saref:isOfferedBy + ] . + +saref:isOfferedBy a owl:ObjectProperty ; + rdfs:comment "A relationship between a service and a device that offers the service" ; + rdfs:label "is offered by" ; + owl:inverseOf saref:offers . + +saref:hasMeterReading + a owl:ObjectProperty ; + rdfs:comment "A relationship between a metering function and the measurement of the reading" ; + rdfs:label "has meter reading" . + +saref:SetAbsoluteLevelCommand + a owl:Class ; + rdfs:comment "A type of set level command" ; + rdfs:label "Set absolute level command" ; + rdfs:subClassOf saref:SetLevelCommand . + +saref:OpenCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Open command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OpenCloseState ; + owl:onProperty saref:actsUpon + ] . + +saref:watt_hour a saref:EnergyUnit , owl:NamedIndividual ; + rdfs:comment "The Watt Hor is a unit of energy equivalent to one watt (1 W) of power expended for one hour (1 h) of time. An energy expenditure of 1 Wh represents 3600 joules " ; + rdfs:label "watt hour" . + +saref:StepDownCommand + a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Step down command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:MultiLevelState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:StepUpCommand . + +saref:OpenCloseFunction + a owl:Class ; + rdfs:comment "An actuating function that allows to open and close a device" ; + rdfs:label "Open close function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:CloseCommand saref:OpenCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:Energy a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. " ; + rdfs:label "Energy" ; + rdfs:subClassOf saref:Property . + +saref:isMeasuredByDevice + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can measure a certain property"@en ; + rdfs:label "is measured by device" . + +saref:StepUpCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Step up command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:MultiLevelState ; + owl:onProperty saref:actsUpon + ] . + +saref:StopState a owl:Class ; + rdfs:comment "The state of a device that is STOPPED" ; + rdfs:label "Stop state" ; + rdfs:subClassOf saref:StartStopState . + +saref:hasTime a owl:ObjectProperty ; + rdfs:comment "A relationship to associate time information to an entity" ; + rdfs:label "has time" . + +saref:ToggleCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Toggle command" ; + rdfs:subClassOf saref:Command . + +saref:PowerUnit a owl:Class ; + rdfs:comment "The unit of measure for power" ; + rdfs:label "Power unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +om:bar a saref:PressureUnit , owl:NamedIndividual ; + rdfs:comment "The bar is a unit of pressure defined as 100 000 pascal."@en ; + rdfs:label "bar" . + +saref:Gas a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Gas" ; + rdfs:subClassOf saref:Commodity . + +saref:TemperatureUnit + a owl:Class ; + rdfs:comment "The unit of measure for temperature" ; + rdfs:label "Temperature unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:hasMeterReadingType + a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)" ; + rdfs:label "has meter reading type" . + +saref:Property a owl:Class ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Property" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:relatesToMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isMeasuredByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isControlledByDevice + ] . + +om:pound_sterling a saref:Currency , owl:NamedIndividual ; + rdfs:label "Great Britain pound sterling" . + +saref:Storage a owl:Class ; + rdfs:comment "A type of energy-related device that stores energy" ; + rdfs:label "Storage" ; + rdfs:subClassOf saref:EnergyRelated . + +saref:StartCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Start command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:StartStopState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:StopCommand . + +saref:TemperatureSensor + a owl:Class ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and is used for the purpose of sensing a property of type saref:Temperature" ; + rdfs:label "Temperature sensor" ; + rdfs:subClassOf saref:Sensor ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Comfort ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Temperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] . + +saref:StartState a owl:Class ; + rdfs:comment "The state of a device that is STARTED" ; + rdfs:label "Start state" ; + rdfs:subClassOf saref:StartStopState . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power" ; + rdfs:label "has value" . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Device" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Profile ; + owl:onProperty saref:hasProfile + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Service ; + owl:onProperty saref:offers + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:controlsProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:makesMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Task ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:hasFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Commodity ; + owl:onProperty saref:isUsedFor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:Energy saref:Power ) + ] ; + owl:onProperty saref:hasTypicalConsumption + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasModel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasManufacturer + ] . + +saref:SwitchOnService + a owl:Class ; + rdfs:comment "A type of service that represents an on/off function to the network" ; + rdfs:label "Switch on service" ; + rdfs:subClassOf saref:Service ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:represents ; + owl:someValuesFrom saref:OnOffFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:isOfferedBy ; + owl:someValuesFrom saref:LightSwitch + ] . + +saref:GetMeterDataCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get meter data command" ; + rdfs:subClassOf saref:GetCommand . + +saref:Washing a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Washing" . + +saref:DoorSwitch a owl:Class ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Safety, performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState." ; + rdfs:label "Door switch" ; + rdfs:subClassOf saref:Switch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Safety ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OpenCloseState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OpenCloseFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] . + +saref:CloseCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Close command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OpenCloseState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:OpenCommand . + +saref:Cleaning a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Cleaning" . + +om:kelvin a saref:TemperatureUnit , owl:NamedIndividual ; + rdfs:comment "The kelvin is a unit of temperature defined as 1/273.16 of the thermodynamic temperature of the triple point of water."@en ; + rdfs:label "kelvin" . + +saref:EnergyEfficiency + a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "EnergyEfficiency" . + +saref:Entertainment a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Entertainment" . + +saref:hasSensorType a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) " ; + rdfs:label "has sensor type" . + +saref:hasProfile a owl:ObjectProperty ; + rdfs:comment "A relationship associating a profile to a certain entity (e.g., a device)" ; + rdfs:label "has profile" . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)" ; + rdfs:label "has description" ; + rdfs:range xsd:string . + +saref:hasManufacturer + a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)" ; + rdfs:label "has manufacturer" ; + rdfs:range xsd:string . + +time:TemporalUnit rdfs:comment "The unit of measure for time" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Load a owl:Class ; + rdfs:comment "A type of energy-related device that consumes energy" ; + rdfs:label "Load" ; + rdfs:subClassOf saref:EnergyRelated . + +saref:Open a saref:OpenState , saref:OpenCommand , owl:NamedIndividual ; + rdfs:comment "The value OPEN. It is used to instantiate different classes such as the OpenCommand class and OpenState class. " ; + rdfs:label "Open" . + +saref:Lighting a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Lighting" . + +saref:IlluminanceUnit + a owl:Class ; + rdfs:comment "The unit of measure for light" ; + rdfs:label "Illuminance unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Smoke a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke" ; + rdfs:label "Smoke" ; + rdfs:subClassOf saref:Property . + +om:euro a saref:Currency , owl:NamedIndividual ; + rdfs:label "euro"@en . + +saref:Drying a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Drying" . + +saref:hasTypicalConsumption + a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device" ; + rdfs:label "has typical consumption" . + +saref:EnergyUnit a owl:Class ; + rdfs:comment "The unit of measure for energy" ; + rdfs:label "Energy unit" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Profile a owl:Class ; + rdfs:comment "A specification associated to a device to collect information about a certain Property (e.g., Energy) or Commodity (e.g.Water) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property or Commodity (saref:isAbout), can be calculated over a time span (saref:hasTime ) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en ; + rdfs:label "Profile"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:Commodity saref:Property ) + ] ; + owl:onProperty saref:isAbout + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Time ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Price ; + owl:onProperty saref:hasPrice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Profile ; + owl:onProperty saref:consistsOf + ] . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the unit of measure used for a certain entity." ; + rdfs:label "is measured in" . + +saref:SmokeSensor a owl:Class ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and saref:EventFunction (which notifies that a certain threshold has been exceeded), and is used for the purpose of sensing a property of type saref:Smoke." ; + rdfs:label "Smoke sensor" ; + rdfs:subClassOf saref:Sensor ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Safety ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Smoke + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:EventFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] . + +saref:Toggle a saref:ToggleCommand , owl:NamedIndividual ; + rdfs:comment "The value TOGGLE. It is used to instantiate the the ToggleCommand class" ; + rdfs:label "Toggle" . + +saref:Water a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Water" ; + rdfs:subClassOf saref:Commodity . + +saref:relatesToMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relationship between a property and the measurements it relates to" ; + rdfs:label "relates to measurement"@en . + +om:kilowatt_hour a saref:EnergyUnit , owl:NamedIndividual ; + rdfs:comment "The kilowatt hour is a unit of energy equal to 1,000 watt-hours, or 3.6 megajoules." ; + rdfs:label "kilowatt hour" . + +saref:Off a saref:OffState , saref:OffCommand , owl:NamedIndividual ; + rdfs:comment "The value OFF. It is used to instantiate different classes such as the OffCommand class and OffState class. " ; + rdfs:label "Off " . + +saref:WashingMachine a owl:Class ; + rdfs:comment "A device of category saref:Appliance and saref:Load that accomplishes the task saref:Washing, performs an actuating function of type saref:StartStopFunction, can be found in the state saref:StartStopState, and can have a saref:Profile that characterizes its energy consumption. " ; + rdfs:label "Washing machine" ; + rdfs:subClassOf saref:Load , saref:Appliance ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Washing ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:StartStopState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasProfile ; + owl:someValuesFrom saref:Profile + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:StartStopFunction + ] . + +saref:Network a owl:Class ; + rdfs:comment "A device used to connect other devices in a network, such as hub, switch or router in a Local Area Network (LAN). " ; + rdfs:label "Network" ; + rdfs:subClassOf saref:FunctionRelated . + +saref:Task a owl:Class ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Task" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device ; + owl:onProperty saref:isAccomplishedBy + ] . + +saref:isAccomplishedBy + a owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)" ; + rdfs:label "is accomplished by" . + +saref:represents a owl:ObjectProperty ; + rdfs:comment "A relationship between a service and a function." ; + rdfs:label "represents" . + +om:degree_Celsius a saref:TemperatureUnit , owl:NamedIndividual ; + rdfs:comment "The degree Celsius is a unit of temperature defined as 1 kelvin."@en ; + rdfs:label "degree Celsius" . + +saref:OpenState a owl:Class ; + rdfs:comment "The state of a device that is OPEN " ; + rdfs:label "Open state" ; + rdfs:subClassOf saref:OpenCloseState . + +saref:OnState a owl:Class ; + rdfs:comment "The state of a device that is OFF " ; + rdfs:label "On state" ; + rdfs:subClassOf saref:OnOffState . + +saref:Humidity a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit" ; + rdfs:label "Humidity" ; + rdfs:subClassOf saref:Property . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction." ; + rdfs:label "Sensor" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] . + +saref:OffCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Off command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:OnOffState ; + owl:onProperty saref:actsUpon + ] ; + owl:disjointWith saref:OnCommand . + +saref:Electricity a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Electricity" ; + rdfs:subClassOf saref:Commodity . + +saref:Generator a owl:Class ; + rdfs:comment "A type of energy-related device that generates energy" ; + rdfs:label "Generator" ; + rdfs:subClassOf saref:EnergyRelated . + +om:United_States_dollar + a saref:Currency , owl:NamedIndividual ; + rdfs:label "United States dollar"@en . + +saref:Currency a owl:Class ; + rdfs:comment "The unit of measure for price" ; + rdfs:label "Currency" ; + rdfs:subClassOf saref:UnitOfMeasure . + +saref:Time a owl:Class ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology." ; + rdfs:label "Time" ; + rdfs:subClassOf saref:Property ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom time:TemporalEntity + ] . + +saref:hasThresholdMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded" ; + rdfs:label "has threshold measurement" . + +saref:GetMeterHistoryCommand + a owl:Class ; + rdfs:comment "A type of get command" ; + rdfs:label "Get meter history command" ; + rdfs:subClassOf saref:GetCommand . + +saref:Coal a owl:Class ; + rdfs:comment "A type of commodity" ; + rdfs:label "Coal" ; + rdfs:subClassOf saref:Commodity . + +saref:BuildingRelated + a owl:Class ; + rdfs:comment "A category that includes devices as described by building related data models, such as IFC and FIEMSER " ; + rdfs:label "Building related" ; + rdfs:subClassOf saref:Device . + +saref:hasCommand a owl:ObjectProperty ; + rdfs:comment "A relationship between an entity (such as a function) and a command" ; + rdfs:label "has command" ; + owl:inverseOf saref:isCommandOf . + +saref:SetAbsoluteLevel + a saref:SetAbsoluteLevelCommand , owl:NamedIndividual ; + rdfs:comment "The value SET ABSOLUTE LEVEL. It is used to instantiate classes such as the SetAbsoluteLevelCommand class. " ; + rdfs:label "Set absolute level" . + +saref:Safety a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Safety" . + +om:degree_Fahrenheit a saref:TemperatureUnit , owl:NamedIndividual ; + rdfs:comment "The degree Fahrenheit is a unit of temperature defined as 5.555556e-1 kelvin."@en ; + rdfs:label "degree Fahrenheit" . + +saref:PauseCommand a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Pause command" ; + rdfs:subClassOf saref:Command . + +saref:SetLevelCommand + a owl:Class ; + rdfs:comment "A type of command" ; + rdfs:label "Set level command" ; + rdfs:subClassOf saref:Command ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:MultiLevelState ; + owl:onProperty saref:actsUpon + ] . + +saref:MultiLevelState + a owl:Class ; + rdfs:comment "A type of state" ; + rdfs:label "Multi level state" ; + rdfs:subClassOf saref:State . + +saref:Function a owl:Class ; + rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. " ; + rdfs:label "Function" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command ; + owl:onProperty saref:hasCommand + ] . + +saref:Command a owl:Class ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Command" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:isCommandOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:actsUpon + ] . + +saref:LightSwitch a owl:Class ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Lighting, performs the saref:OnOffFunction, measures the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service." ; + rdfs:label "Light switch" ; + rdfs:subClassOf saref:Switch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Lighting ; + owl:onProperty saref:accomplishes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:offers ; + owl:someValuesFrom saref:SwitchOnService + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OnOffState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Light + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OnOffFunction + ] . + +saref:GetMeterHistory + a saref:GetMeterHistoryCommand , owl:NamedIndividual ; + rdfs:comment "The command GET METER HISTORY. It is used to instantiate the GetMeterHistoryCommand class. " ; + rdfs:label "Get meter history" . + +saref:isCommandOf a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function." ; + rdfs:label "is command of" . + +saref: a owl:Ontology ; + rdfs:comment "Information about changes compared to version 1.1.1: (1)The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings (https://w3id.org/def/saref4bldg), including the reuse of the W3C® WGS84 geo positioning vocabulary; (2)The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class; (3)The information specific for energy efficiency has been moved to the SAREF4ENER extension (https://w3id.org/saref4ener). For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension (https://w3id.org/saref4ener); (4) The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy); (5)The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension (https://w3id.org/def/saref4envi), in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property); (6)Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed; (7)The saref:UnitOfMeasure subclassesre use individuals from the OM ontology for unit of measures (http://www.wurvoc.org/vocabularies/om-1.6/), but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used; (8)The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes; (9)The subclasses of saref:Task have been transormed in individuals; (10)The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class." , "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> , <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> , <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:created "2015-02-10"^^xsd:date ; + dcterms:description "The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building." ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2018-05-02"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/02.01.01_60/ts_103264v020101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref-core/> ; + dcterms:title "SAREF: the Smart Applications REFerence ontology" ; + vann:preferredNamespacePrefix "saref" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref#" ; + owl:versionIRI <https://saref.etsi.org/saref/v2.1.1/saref#> ; + owl:versionInfo "2.1.1" . + +om:pascal a saref:PressureUnit , owl:NamedIndividual ; + rdfs:comment "The pascal is a unit of pressure and stress defined as newton divided by square metre = joule divided by cubic metre = kilogram divided by metre second squared."@en ; + rdfs:label "pascal" . + +saref:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device" ; + rdfs:label "has function" . + +saref:Notify a saref:NotifyCommand , owl:NamedIndividual ; + rdfs:comment "The value NOTIFY. It is used to instantiate the NotifyCommand." ; + rdfs:label "Notify" . + +saref:Comfort a saref:Task , owl:NamedIndividual ; + rdfs:comment "A type of task for which a device is designed" ; + rdfs:label "Comfort" . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:label "makes measurement"@en . + +saref:actsUpon a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state" ; + rdfs:label "acts upon" . + +saref:offers a owl:ObjectProperty ; + rdfs:comment "A relationship between a device and a service" ; + rdfs:label "offers" . + +saref:Commodity a owl:Class ; + rdfs:comment "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. " ; + rdfs:label "Commodity" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] . + +saref:consistsOf a owl:ObjectProperty ; + rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)" ; + rdfs:label "consists of" . + +saref:accomplishes a owl:ObjectProperty ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes" ; + rdfs:label "accomplishes" ; + owl:inverseOf saref:isAccomplishedBy . + +saref:Pause a saref:PauseCommand , owl:NamedIndividual ; + rdfs:comment "The value PAUSE. It is used to instantiate classes such as the PauseCommand class." ; + rdfs:label "Pause" . + +saref:Switch a owl:Class ; + rdfs:comment "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction" ; + rdfs:label "Switch" ; + rdfs:subClassOf saref:Actuator . + +om:watt a saref:PowerUnit , owl:NamedIndividual ; + rdfs:comment "The watt is a unit of power defined as joule divided by second = newton times metre divided by second = volt times ampere = kilogram times square metre divided by second to the power 3."@en ; + rdfs:label "watt" . + +saref:Motion a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion" ; + rdfs:label "Motion" ; + rdfs:subClassOf saref:Property . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] . + +saref:EventFunction a owl:Class ; + rdfs:comment "A function that allows to notify another device that a certain threshold value has been exceeded." ; + rdfs:label "Event function" ; + rdfs:subClassOf saref:Function ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Measurement ; + owl:onProperty saref:hasThresholdMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:NotifyCommand ; + owl:onProperty saref:hasCommand + ] . + +saref:StepDown a saref:StepDownCommand , owl:NamedIndividual ; + rdfs:comment "The value STEP DOWN. It is used to instantiate the StepDownCommand class. " ; + rdfs:label "Step down" . + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system by performing an actuating function" ; + rdfs:label "Actuator" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:ActuatingFunction + ] . + +saref:SensingFunction + a owl:Class ; + rdfs:comment "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)" ; + rdfs:label "Sensing function" ; + rdfs:subClassOf saref:Function ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:hasSensorType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:GetSensingDataCommand ; + owl:onProperty saref:hasCommand + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasSensingRange ; + owl:someValuesFrom saref:Measurement + ] . + +saref:Multimedia a owl:Class ; + rdfs:comment "A device designed to display, store, record or play multimedia content such as audio, images, animation, video " ; + rdfs:label "Multimedia" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Entertainment ; + owl:onProperty saref:accomplishes + ] . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be measured by a certain Device"@en ; + rdfs:label "measures property"@en . + +saref:StepUp a saref:StepUpCommand , owl:NamedIndividual ; + rdfs:comment "The value STEP UP. It is used to instantiate the StepUpCommand class. " ; + rdfs:label "Step up" . + +saref:Appliance a owl:Class ; + rdfs:comment "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking" ; + rdfs:label "Appliance" ; + rdfs:subClassOf saref:FunctionRelated . + +saref:LightingDevice a owl:Class ; + rdfs:comment "A device used for illumination, irradiation, signaling, or projection" ; + rdfs:label "Lighting device" ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue saref:Comfort ; + owl:onProperty saref:accomplishes + ] . + +saref:hasSensingRange + a owl:ObjectProperty ; + rdfs:comment "A relationship between a sensing function and a measurement identifying the range of a sensor detection" ; + rdfs:label "has sensing range " . + +saref:Light a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)" ; + rdfs:label "Light" ; + rdfs:subClassOf saref:Property . + +saref:StartStopFunction + a owl:Class ; + rdfs:comment "An actuating function that allows to start and stop a device" ; + rdfs:label "Start stop function" ; + rdfs:subClassOf saref:ActuatingFunction ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:StartCommand saref:StopCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:MeteringFunction + a owl:Class ; + rdfs:comment "A function that allows to get data from a meter, such as current meter reading or instantaneous demand" ; + rdfs:label "Metering function" ; + rdfs:subClassOf saref:Function ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:Commodity saref:Property ) + ] ; + owl:onProperty saref:hasMeterReadingType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:hasMeterReading + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( saref:GetCurrentMeterValueCommand saref:GetMeterDataCommand saref:GetMeterHistoryCommand ) + ] ; + owl:onProperty saref:hasCommand + ] . + +saref:EnergyRelated a owl:Class ; + rdfs:comment "A category that considers devices based on energy consumption information and profiles to optimize energy efficiency." ; + rdfs:label "Energy related" ; + rdfs:subClassOf saref:Device . + +saref:hasPrice a owl:ObjectProperty ; + rdfs:comment "A relationships indentifying the price associated to an entity" ; + rdfs:label "has price" . diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.rdf b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.rdf new file mode 100644 index 0000000000000000000000000000000000000000..bc9cb2af85fde5f5b09d0e0d463f273989e80acc --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.rdf @@ -0,0 +1,1857 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:saref="https://saref.etsi.org/saref#" + xmlns:om="http://www.wurvoc.org/vocabularies/om-1.8/" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:foaf="http://xmlns.com/foaf/0.1/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref#"> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref/v2.1.1/saref#"/> + <vann:preferredNamespacePrefix>saref</vann:preferredNamespacePrefix> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <rdfs:comment>Information about changes compared to version 1.1.1: (1)The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings (https://w3id.org/def/saref4bldg), including the reuse of the W3C® WGS84 geo positioning vocabulary; (2)The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class; (3)The information specific for energy efficiency has been moved to the SAREF4ENER extension (https://w3id.org/saref4ener). For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension (https://w3id.org/saref4ener); (4) The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy); (5)The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension (https://w3id.org/def/saref4envi), in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property); (6)Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed; (7)The saref:UnitOfMeasure subclassesre use individuals from the OM ontology for unit of measures (http://www.wurvoc.org/vocabularies/om-1.6/), but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used; (8)The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes; (9)The subclasses of saref:Task have been transormed in individuals; (10)The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class.</rdfs:comment> + <owl:versionInfo>2.1.1</owl:versionInfo> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref#</vann:preferredNamespaceUri> + <dcterms:source rdf:resource="http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/02.01.01_60/ts_103264v020101p.pdf"/> + <dcterms:description>The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building.</dcterms:description> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2015-02-10</dcterms:created> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:title>SAREF: the Smart Applications REFerence ontology</dcterms:title> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2018-05-02</dcterms:modified> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref-core/"/> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnCommand"> + <rdfs:label>On command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnOffState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Coal"> + <rdfs:label>Coal</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnOffState"> + <rdfs:label>On off state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetSensingDataCommand"> + <rdfs:label>Get sensing data command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartCommand"> + <rdfs:label>Start command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopCommand"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterDataCommand"> + <rdfs:label>Get meter data command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Electricity"> + <rdfs:label>Electricity</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Light"> + <rdfs:label>Light</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EnergyUnit"> + <rdfs:label>Energy unit</rdfs:label> + <rdfs:comment>The unit of measure for energy</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#MeteringFunction"> + <rdfs:label>Metering function</rdfs:label> + <rdfs:comment>A function that allows to get data from a meter, such as current meter reading or instantaneous demand</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReadingType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReading"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCurrentMeterValueCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterDataCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterHistoryCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartState"> + <rdfs:label>Start state</rdfs:label> + <rdfs:comment>The state of a device that is STARTED</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EnergyRelated"> + <rdfs:label>Energy related</rdfs:label> + <rdfs:comment>A category that considers devices based on energy consumption information and profiles to optimize energy efficiency.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#ToggleCommand"> + <rdfs:label>Toggle command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Appliance"> + <rdfs:label>Appliance</rdfs:label> + <rdfs:comment>An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Profile"> + <rdfs:label xml:lang="en">Profile</rdfs:label> + <rdfs:comment xml:lang="en">A specification associated to a device to collect information about a certain Property (e.g., Energy) or Commodity (e.g.Water) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property or Commodity (saref:isAbout), can be calculated over a time span (saref:hasTime ) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAbout"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Time"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Price"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasPrice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Profile"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopFunction"> + <rdfs:label>Start stop function</rdfs:label> + <rdfs:comment>An actuating function that allows to start and stop a device</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#CloseCommand"> + <rdfs:label>Close command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCommand"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Task"> + <rdfs:label>Task</rdfs:label> + <rdfs:comment>The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Measurement"> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Gas"> + <rdfs:label>Gas</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Switch"> + <rdfs:label>Switch</rdfs:label> + <rdfs:comment>A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EnergyMeter"> + <rdfs:label>Energy meter</rdfs:label> + <rdfs:comment>An energy meter is a device of category saref:Meter that consists of a meter, accomplishes the tasks saref:MeterReading and saref:EnergyEfficiency, performs the saref:MeteringFunction and is used for the purpose of measuring the saref:Energy property</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#MeterReading"> + <rdfs:label>Meter reading</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#EnergyEfficiency"> + <rdfs:label>EnergyEfficiency</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Energy"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Meter"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Meter"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Commodity"> + <rdfs:label>Commodity</rdfs:label> + <rdfs:comment>A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Generator"> + <rdfs:label>Generator</rdfs:label> + <rdfs:comment>A type of energy-related device that generates energy</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#EnergyRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Energy"> + <rdfs:label>Energy</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Time"> + <rdfs:label>Time</rdfs:label> + <rdfs:comment>A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnOffFunction"> + <rdfs:label>On off function</rdfs:label> + <rdfs:comment>An actuating function that allows to switch on and off an actuator</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#OffCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#ToggleCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SwitchOnService"> + <rdfs:label>Switch on service</rdfs:label> + <rdfs:comment>A type of service that represents an on/off function to the network</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#represents"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#LightSwitch"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isOfferedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Service"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Network"> + <rdfs:label>Network</rdfs:label> + <rdfs:comment>A device used to connect other devices in a network, such as hub, switch or router in a Local Area Network (LAN). </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"> + <rdfs:label>Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure"/> + <rdfs:comment>The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Humidity"> + <rdfs:label>Humidity</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#PowerUnit"> + <rdfs:label>Power unit</rdfs:label> + <rdfs:comment>The unit of measure for power</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SmokeSensor"> + <rdfs:label>Smoke sensor</rdfs:label> + <rdfs:comment>A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and saref:EventFunction (which notifies that a certain threshold has been exceeded), and is used for the purpose of sensing a property of type saref:Smoke.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Safety"> + <rdfs:label>Safety</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Smoke"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#EventFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Occupancy"> + <rdfs:label>Occupancy</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Pressure"> + <rdfs:label>Pressure</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OffState"> + <rdfs:label>Off state</rdfs:label> + <rdfs:comment>The state of a device that is ON</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"> + <rdfs:label>Actuator</rdfs:label> + <rdfs:comment>A device responsible for moving or controlling a mechanism or system by performing an actuating function</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenState"> + <rdfs:label>Open state</rdfs:label> + <rdfs:comment>The state of a device that is OPEN </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseState"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#ActuatingFunction"> + <rdfs:label>Actuating function</rdfs:label> + <rdfs:comment>A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#MicroRenewable"> + <rdfs:label>Micro renewable</rdfs:label> + <rdfs:comment>A device that generates renewable energy from natural resources such as teh sun, wind and water</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#EnergyEfficiency"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"> + <rdfs:label>Property</rdfs:label> + <rdfs:comment>Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseState"> + <rdfs:label>Open close state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#WashingMachine"> + <rdfs:label>Washing machine</rdfs:label> + <rdfs:comment>A device of category saref:Appliance and saref:Load that accomplishes the task saref:Washing, performs an actuating function of type saref:StartStopFunction, can be found in the state saref:StartStopState, and can have a saref:Profile that characterizes its energy consumption. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Washing"> + <rdfs:label>Washing</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Profile"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProfile"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#StartStopFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Load"/> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Appliance"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepUpCommand"> + <rdfs:label>Step up command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetRelativeLevelCommand"> + <rdfs:label>Set relative level command</rdfs:label> + <rdfs:comment>A type of set level command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetLevelCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetLevelCommand"> + <rdfs:label>Set level command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"> + <rdfs:label>Function</rdfs:label> + <rdfs:comment>The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#TemperatureUnit"> + <rdfs:label>Temperature unit</rdfs:label> + <rdfs:comment>The unit of measure for temperature</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Currency"> + <rdfs:label>Currency</rdfs:label> + <rdfs:comment>The unit of measure for price</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#HVAC"> + <rdfs:label>HVAC</rdfs:label> + <rdfs:comment>Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Comfort"> + <rdfs:label>Comfort</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OffCommand"> + <rdfs:label>Off command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref#OnCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Motion"> + <rdfs:label>Motion</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#PressureUnit"> + <rdfs:label>Pressure unit</rdfs:label> + <rdfs:comment>The unit of measure for pressure</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#LightSwitch"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Lighting"> + <rdfs:label>Lighting</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#SwitchOnService"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#offers"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Switch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Switch"/> + <rdfs:label>Light switch</rdfs:label> + <rdfs:comment>A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Lighting, performs the saref:OnOffFunction, measures the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Light"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OnOffFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopState"> + <rdfs:label>Stop state</rdfs:label> + <rdfs:comment>The state of a device that is STOPPED</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Water"> + <rdfs:label>Water</rdfs:label> + <rdfs:comment>A type of commodity</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Commodity"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Power"> + <rdfs:label>Power</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#IlluminanceUnit"> + <rdfs:label>Illuminance unit</rdfs:label> + <rdfs:comment>The unit of measure for light</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Price"> + <rdfs:label>Price</rdfs:label> + <rdfs:comment>A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Multimedia"> + <rdfs:label>Multimedia</rdfs:label> + <rdfs:comment>A device designed to display, store, record or play multimedia content such as audio, images, animation, video </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Task rdf:about="https://saref.etsi.org/saref#Entertainment"> + <rdfs:label>Entertainment</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCloseFunction"> + <rdfs:label>Open close function</rdfs:label> + <rdfs:comment>An actuating function that allows to open and close a device</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#CloseCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#ActuatingFunction"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetMeterHistoryCommand"> + <rdfs:label>Get meter history command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StopCommand"> + <rdfs:label>Stop command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#DoorSwitch"> + <rdfs:label>Door switch</rdfs:label> + <rdfs:comment>A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Safety, performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#Safety"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OpenCloseState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#OpenCloseFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Switch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Switch"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#FunctionRelated"> + <rdfs:label>Function related</rdfs:label> + <rdfs:comment>A category that considers devices, sensors and their specification in terms of functions, states and services</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StartStopState"> + <rdfs:label>Start stop state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#EventFunction"> + <rdfs:label>Event function</rdfs:label> + <rdfs:comment>A function that allows to notify another device that a certain threshold value has been exceeded.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasThresholdMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#NotifyCommand"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Function"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"> + <rdfs:label>Sensor</rdfs:label> + <rdfs:comment>A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FunctionRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepDownCommand"> + <rdfs:label>Step down command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref#StepUpCommand"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetAbsoluteLevelCommand"> + <rdfs:label>Set absolute level command</rdfs:label> + <rdfs:comment>A type of set level command</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#SetLevelCommand"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OpenCommand"> + <rdfs:label>Open command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#OpenCloseState"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Meter"> + <rdfs:label>Meter</rdfs:label> + <rdfs:comment>A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#MeteringFunction"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FunctionRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Storage"> + <rdfs:label>Storage</rdfs:label> + <rdfs:comment>A type of energy-related device that stores energy</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#EnergyRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#LightingDevice"> + <rdfs:label>Lighting device</rdfs:label> + <rdfs:comment>A device used for illumination, irradiation, signaling, or projection</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#Comfort"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FunctionRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCommand"> + <rdfs:label>Get command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#OnState"> + <rdfs:label>On state</rdfs:label> + <rdfs:comment>The state of a device that is OFF </rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#OnOffState"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#TemperatureSensor"> + <rdfs:label>Temperature sensor</rdfs:label> + <rdfs:comment>A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and is used for the purpose of sensing a property of type saref:Temperature</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue rdf:resource="https://saref.etsi.org/saref#Comfort"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Temperature"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Sensor"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Load"> + <rdfs:label>Load</rdfs:label> + <rdfs:comment>A type of energy-related device that consumes energy</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#EnergyRelated"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Temperature"> + <rdfs:label>Temperature</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Service"> + <rdfs:label>Service</rdfs:label> + <rdfs:comment>A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#represents"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isOfferedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"> + <rdfs:label>State</rdfs:label> + <rdfs:comment>The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#SensingFunction"> + <rdfs:label>Sensing function</rdfs:label> + <rdfs:comment>A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensorType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#GetSensingDataCommand"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensingRange"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Function"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#NotifyCommand"> + <rdfs:label>Notify command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Profile"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProfile"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#State"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Service"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#offers"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#controlsProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Task"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Device"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Device</rdfs:label> + <rdfs:comment>A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Commodity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isUsedFor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#Energy"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#Power"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTypicalConsumption"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasModel"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasManufacturer"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Smoke"> + <rdfs:label>Smoke</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#PauseCommand"> + <rdfs:label>Pause command</rdfs:label> + <rdfs:comment>A type of command</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#GetCurrentMeterValueCommand"> + <rdfs:label>Get current meter value command</rdfs:label> + <rdfs:comment>A type of get command</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#GetCommand"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"> + <rdfs:label>Command</rdfs:label> + <rdfs:comment>A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#State"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#LevelControlFunction"> + <rdfs:label>Level control function</rdfs:label> + <rdfs:comment>An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetAbsoluteLevelCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#SetRelativeLevelCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepDownCommand"/> + <owl:Class rdf:about="https://saref.etsi.org/saref#StepUpCommand"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#ActuatingFunction"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#BuildingRelated"> + <rdfs:label>Building related</rdfs:label> + <rdfs:comment>A category that includes devices as described by building related data models, such as IFC and FIEMSER </rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#MultiLevelState"> + <rdfs:label>Multi level state</rdfs:label> + <rdfs:comment>A type of state</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#State"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#CloseState"> + <rdfs:label>Close state</rdfs:label> + <rdfs:comment>The state of a device that is CLOSE</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#OpenCloseState"/> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTypicalConsumption"> + <rdfs:label>has typical consumption</rdfs:label> + <rdfs:comment>A relationship identifying the typical (energy or power) consumption of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"> + <rdfs:label>is measured in</rdfs:label> + <rdfs:comment>A relationship identifying the unit of measure used for a certain entity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#represents"> + <rdfs:label>represents</rdfs:label> + <rdfs:comment>A relationship between a service and a function.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#consistsOf"> + <rdfs:label>consists of</rdfs:label> + <rdfs:comment>A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensingRange"> + <rdfs:label>has sensing range </rdfs:label> + <rdfs:comment>A relationship between a sensing function and a measurement identifying the range of a sensor detection</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasSensorType"> + <rdfs:label>has sensor type</rdfs:label> + <rdfs:comment>A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isUsedFor"> + <rdfs:label>is used for</rdfs:label> + <rdfs:comment>A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the Property that can be measured by a certain Device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasThresholdMeasurement"> + <rdfs:label>has threshold measurement</rdfs:label> + <rdfs:comment>A relationship associated with an event function to notify that a certain threshold measurement has been exceeded</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"> + <rdfs:label>has function</rdfs:label> + <rdfs:comment>A relationship identifying the type of function of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReadingType"> + <rdfs:label>has meter reading type</rdfs:label> + <rdfs:comment>A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + <rdfs:comment>A relationship between a property and the measurements it relates to</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#controlsProperty"> + <rdfs:label xml:lang="en">controls property</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the Property that can be controlled by a certain Device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"> + <rdfs:label>is controlled by device</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the devices that can control a certain property</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"> + <rdfs:label>is measured by device</rdfs:label> + <rdfs:comment xml:lang="en">A relationship specifying the devices that can measure a certain property</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAbout"> + <rdfs:label xml:lang="en">isAbout</rdfs:label> + <rdfs:comment xml:lang="en">A relationship identifying what an entity, such as a Profile, is about</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"> + <rdfs:label>has state</rdfs:label> + <rdfs:comment>A relationship identifying the type of state of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#offers"> + <rdfs:label>offers</rdfs:label> + <rdfs:comment>A relationship between a device and a service</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"> + <rdfs:label>is accomplished by</rdfs:label> + <rdfs:comment>A relationship indentifying the task accomplished by a certain entity (e.g., a device)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:comment>A relationship between a measurement and the property it relates to</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProfile"> + <rdfs:label>has profile</rdfs:label> + <rdfs:comment>A relationship associating a profile to a certain entity (e.g., a device)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"> + <rdfs:label>acts upon</rdfs:label> + <rdfs:comment>A relationship between a command and a state</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasMeterReading"> + <rdfs:label>has meter reading</rdfs:label> + <rdfs:comment>A relationship between a metering function and the measurement of the reading</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasTime"> + <rdfs:label>has time</rdfs:label> + <rdfs:comment>A relationship to associate time information to an entity</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"> + <rdfs:label>accomplishes</rdfs:label> + <rdfs:comment>A relationship between a certain entity (e.g., a device) and the task it accomplishes</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isOfferedBy"> + <rdfs:label>is offered by</rdfs:label> + <rdfs:comment>A relationship between a service and a device that offers the service</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#offers"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasPrice"> + <rdfs:label>has price</rdfs:label> + <rdfs:comment>A relationships indentifying the price associated to an entity</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"> + <rdfs:label>has command</rdfs:label> + <rdfs:comment>A relationship between an entity (such as a function) and a command</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"> + <rdfs:label>is command of</rdfs:label> + <rdfs:comment>A relationship between a command and a function.</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasManufacturer"> + <rdfs:label>has manufacturer</rdfs:label> + <rdfs:comment>A relationship identifying the manufacturer of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"> + <rdfs:label>has value</rdfs:label> + <rdfs:comment>A relationship defining the value of a certain property, e.g., energy or power</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasName"> + <rdfs:label>has name</rdfs:label> + <rdfs:comment>A relationship providing the name of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasModel"> + <rdfs:label>has model</rdfs:label> + <rdfs:comment>A relationship identifying the model of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"> + <rdfs:label>has description</rdfs:label> + <rdfs:comment>A relationship providing a description of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + </owl:DatatypeProperty> + <saref:Currency rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/pound_sterling"> + <rdfs:label>Great Britain pound sterling</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Currency> + <saref:OpenState rdf:about="https://saref.etsi.org/saref#Open"> + <rdfs:label>Open</rdfs:label> + <rdfs:comment>The value OPEN. It is used to instantiate different classes such as the OpenCommand class and OpenState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#OpenCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:OpenState> + <saref:NotifyCommand rdf:about="https://saref.etsi.org/saref#Notify"> + <rdfs:label>Notify</rdfs:label> + <rdfs:comment>The value NOTIFY. It is used to instantiate the NotifyCommand.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:NotifyCommand> + <saref:GetMeterDataCommand rdf:about="https://saref.etsi.org/saref#GetMeterData"> + <rdfs:label>Get meter data</rdfs:label> + <rdfs:comment>The command GET METER DATA. It is used to instantiate the GetMeterDataCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetMeterDataCommand> + <saref:EnergyUnit rdf:about="https://saref.etsi.org/saref#watt_hour"> + <rdfs:label>watt hour</rdfs:label> + <rdfs:comment>The Watt Hor is a unit of energy equivalent to one watt (1 W) of power expended for one hour (1 h) of time. An energy expenditure of 1 Wh represents 3600 joules </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:EnergyUnit> + <saref:PowerUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kilowatt"> + <rdfs:label>kilowatt</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PowerUnit> + <saref:SetAbsoluteLevelCommand rdf:about="https://saref.etsi.org/saref#SetAbsoluteLevel"> + <rdfs:label>Set absolute level</rdfs:label> + <rdfs:comment>The value SET ABSOLUTE LEVEL. It is used to instantiate classes such as the SetAbsoluteLevelCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:SetAbsoluteLevelCommand> + <saref:CloseState rdf:about="https://saref.etsi.org/saref#Close"> + <rdfs:label>Close</rdfs:label> + <rdfs:comment>The value CLOSE. It is used to instantiate different classes such as the CloseCommand class and CloseState class, for example. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#CloseCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:CloseState> + <saref:PressureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/bar"> + <rdfs:label>bar</rdfs:label> + <rdfs:comment xml:lang="en">The bar is a unit of pressure defined as 100 000 pascal.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PressureUnit> + <saref:Currency rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/United_States_dollar"> + <rdfs:label xml:lang="en">United States dollar</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Currency> + <saref:Task rdf:about="https://saref.etsi.org/saref#Drying"> + <rdfs:label>Drying</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + <saref:PressureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/pascal"> + <rdfs:label>pascal</rdfs:label> + <rdfs:comment xml:lang="en">The pascal is a unit of pressure and stress defined as newton divided by square metre = joule divided by cubic metre = kilogram divided by metre second squared.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PressureUnit> + <saref:Task rdf:about="https://saref.etsi.org/saref#Cleaning"> + <rdfs:label>Cleaning</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + <saref:GetCurrentMeterValueCommand rdf:about="https://saref.etsi.org/saref#GetCurrentMeterValue"> + <rdfs:label>Get current meter value</rdfs:label> + <rdfs:comment>The command GET CURRENT METER VALUE. It is used to instantiate the GetCurrentMeterValueCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetCurrentMeterValueCommand> + <saref:GetMeterHistoryCommand rdf:about="https://saref.etsi.org/saref#GetMeterHistory"> + <rdfs:label>Get meter history</rdfs:label> + <rdfs:comment>The command GET METER HISTORY. It is used to instantiate the GetMeterHistoryCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetMeterHistoryCommand> + <saref:GetSensingDataCommand rdf:about="https://saref.etsi.org/saref#GetSensingData"> + <rdfs:label>Get sensing data</rdfs:label> + <rdfs:comment>The command GET SENSING DATA. It is used to instantiate the GetSensingDataCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:GetSensingDataCommand> + <saref:EnergyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour"> + <rdfs:label>kilowatt hour</rdfs:label> + <rdfs:comment>The kilowatt hour is a unit of energy equal to 1,000 watt-hours, or 3.6 megajoules.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:EnergyUnit> + <saref:TemperatureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/degree_Fahrenheit"> + <rdfs:label>degree Fahrenheit</rdfs:label> + <rdfs:comment xml:lang="en">The degree Fahrenheit is a unit of temperature defined as 5.555556e-1 kelvin.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:TemperatureUnit> + <saref:StepUpCommand rdf:about="https://saref.etsi.org/saref#StepUp"> + <rdfs:label>Step up</rdfs:label> + <rdfs:comment>The value STEP UP. It is used to instantiate the StepUpCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StepUpCommand> + <saref:StopState rdf:about="https://saref.etsi.org/saref#Stop"> + <rdfs:label>Stop</rdfs:label> + <rdfs:comment>The value STOP. It is used to instantiate different classes such as the StopCommand class and StopState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#StopCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StopState> + <saref:ToggleCommand rdf:about="https://saref.etsi.org/saref#Toggle"> + <rdfs:label>Toggle</rdfs:label> + <rdfs:comment>The value TOGGLE. It is used to instantiate the the ToggleCommand class</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:ToggleCommand> + <saref:StepDownCommand rdf:about="https://saref.etsi.org/saref#StepDown"> + <rdfs:label>Step down</rdfs:label> + <rdfs:comment>The value STEP DOWN. It is used to instantiate the StepDownCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StepDownCommand> + <saref:PauseCommand rdf:about="https://saref.etsi.org/saref#Pause"> + <rdfs:label>Pause</rdfs:label> + <rdfs:comment>The value PAUSE. It is used to instantiate classes such as the PauseCommand class.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PauseCommand> + <saref:Currency rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/euro"> + <rdfs:label xml:lang="en">euro</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Currency> + <saref:OffState rdf:about="https://saref.etsi.org/saref#Off"> + <rdfs:label>Off </rdfs:label> + <rdfs:comment>The value OFF. It is used to instantiate different classes such as the OffCommand class and OffState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#OffCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:OffState> + <saref:IlluminanceUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/lux"> + <rdfs:label>lux</rdfs:label> + <rdfs:comment xml:lang="en">The lux is a unit of illuminance defined as lumen divided by square metre = candela times steradian divided by square metre.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:IlluminanceUnit> + <saref:Task rdf:about="https://saref.etsi.org/saref#WellBeing"> + <rdfs:label>WellBeing</rdfs:label> + <rdfs:comment>A type of task for which a device is designed</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Task> + <saref:TemperatureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/degree_Celsius"> + <rdfs:label>degree Celsius</rdfs:label> + <rdfs:comment xml:lang="en">The degree Celsius is a unit of temperature defined as 1 kelvin.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:TemperatureUnit> + <saref:StartState rdf:about="https://saref.etsi.org/saref#Start"> + <rdfs:label>Start</rdfs:label> + <rdfs:comment>The value START. It is used to instantiate different classes such as the StartCommand class and StartState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#StartCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:StartState> + <saref:PowerUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/watt"> + <rdfs:label>watt</rdfs:label> + <rdfs:comment xml:lang="en">The watt is a unit of power defined as joule divided by second = newton times metre divided by second = volt times ampere = kilogram times square metre divided by second to the power 3.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:PowerUnit> + <saref:SetRelativeLevelCommand rdf:about="https://saref.etsi.org/saref#SetRelativeLevel"> + <rdfs:label>Set relative level</rdfs:label> + <rdfs:comment>The value SET RELATIVE LEVEL. It is used to instantiate classes such as the SetRelativeLevelCommand class. </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:SetRelativeLevelCommand> + <saref:TemperatureUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kelvin"> + <rdfs:label>kelvin</rdfs:label> + <rdfs:comment xml:lang="en">The kelvin is a unit of temperature defined as 1/273.16 of the thermodynamic temperature of the triple point of water.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:TemperatureUnit> + <saref:OnState rdf:about="https://saref.etsi.org/saref#On"> + <rdfs:label>On</rdfs:label> + <rdfs:comment>The value ON. It is used to instantiate different classes such as the OnCommand class and OnState class. </rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref#OnCommand"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:OnState> + <rdf:Description rdf:about="http://www.w3.org/2006/time#TemporalUnit"> + <rdfs:comment>The unit of measure for time</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + </rdf:Description> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.ttl b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.ttl new file mode 100644 index 0000000000000000000000000000000000000000..a7a3c40fe8426e5a258e0b300a363aa7e36309f7 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref/v2.1.1/saref.ttl @@ -0,0 +1,1620 @@ +@prefix om: <http://www.wurvoc.org/vocabularies/om-1.8/> . +@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 foaf: <http://xmlns.com/foaf/0.1/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix vann: <http://purl.org/vocab/vann/> . + +@prefix saref: <https://saref.etsi.org/saref#> . +@base <https://saref.etsi.org/saref#> . + +<https://saref.etsi.org/saref#> rdf:type owl:Ontology ; + dcterms:title "SAREF: the Smart Applications REFerence ontology"^^xsd:string ; + owl:versionInfo "2.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref/v2.1.1/saref#> ; + dcterms:created "2015-02-10"^^xsd:date ; + dcterms:modified "2018-05-02"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref#" ; + vann:preferredNamespacePrefix "saref" ; + dcterms:source <http://www.etsi.org/deliver/etsi_ts/103200_103299/103264/02.01.01_60/ts_103264v020101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref-core/> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:description "The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building."^^xsd:string ; + rdfs:comment "Information about changes compared to version 1.1.1: (1)The classes and properties related to how to represent devices in building spaces (such as the saref:BuildingSpace class, saref:BuildingObject class and saref:isLocatedIn property) have been removed from SAREF and incorporated into the SAREF4BLDG extension related to buildings (https://w3id.org/def/saref4bldg), including the reuse of the W3C® WGS84 geo positioning vocabulary; (2)The saref:DeviceCategory and saref:FunctionCategory classes have been removed. Instead, the hierarchy of device categories has been implemented directly as subclasses of the saref:Device class; (3)The information specific for energy efficiency has been moved to the SAREF4ENER extension (https://w3id.org/saref4ener). For example, the saref:Profile class has been redefined to accommodate only the properties that are general enough for any type of profile, not only for energy and power. Details on how to specifically model a power profile can be found in the SAREF4ENER extension (https://w3id.org/saref4ener); (4) The subclasses of the saref:Energy class have been removed (i.e., Average Energy, Maximum Energy, Minimum Energy, Total Energy, HVAC Energy, Hot Water Energy and Lighting Energy); (5)The saref:Property class has been split into two classes (saref:Property and saref:Measurement), as it is done in the SAREF4ENVI extension (https://w3id.org/def/saref4envi), in order to properly accommodate the distinction between the concept of property (an observable quality of something) and the concept of measurement (a concrete value observed for a property); (6)Too restrictive cardinality restrictions have been revised, sometimes making them optional rather than mandatory (better to make properties mandatory in the extensions that specialize SAREF for a specific purpose, rather than restricting SAREF, whose purpose is more general). For example, definitions of units of measurement using an enumeration (owl:oneOf) were too restrictive because they did not allow using other units than those enumerated. Therefore, the individuals of each class are still there, but the owl:oneOf enumeration has been removed; (7)The saref:UnitOfMeasure subclassesre use individuals from the OM ontology for unit of measures (http://www.wurvoc.org/vocabularies/om-1.6/), but this is not the only solution. It has been clarified in the comments that the OM ontology is an example, but other ontologies can be used; (8)The global restrictions (rdfs:domain and rdfs:range) in object properties have been completely removed not to hinder interoperability. Object properties are now only restricted locally in the classes; (9)The subclasses of saref:Task have been transormed in individuals; (10)The saref:hasTask property has been removed from the saref:Profile class to resolve an ambiguity with the saref:Task class." ; + dcterms:publisher <https://www.etsi.org/> . + +################################################################# +# Object Properties +################################################################# + +### https://w3id.org/saref#accomplishes +saref:accomplishes rdf:type owl:ObjectProperty ; + owl:inverseOf saref:isAccomplishedBy ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes"^^xsd:string ; + rdfs:label "accomplishes"^^xsd:string . + + +### https://w3id.org/saref#actsUpon +saref:actsUpon rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state"^^xsd:string ; + rdfs:label "acts upon"^^xsd:string . + + +### https://w3id.org/saref#consistsOf +saref:consistsOf rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)"^^xsd:string ; + rdfs:label "consists of"^^xsd:string . + + +### https://w3id.org/saref#controlsProperty +saref:controlsProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be controlled by a certain Device"@en ; + rdfs:label "controls property"@en . + + +### https://w3id.org/saref#hasCommand +saref:hasCommand rdf:type owl:ObjectProperty ; + owl:inverseOf saref:isCommandOf ; + rdfs:comment "A relationship between an entity (such as a function) and a command"^^xsd:string ; + rdfs:label "has command"^^xsd:string . + + +### https://w3id.org/saref#hasFunction +saref:hasFunction rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device"^^xsd:string ; + rdfs:label "has function"^^xsd:string . + + +### https://w3id.org/saref#hasMeterReading +saref:hasMeterReading rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a metering function and the measurement of the reading"^^xsd:string ; + rdfs:label "has meter reading"^^xsd:string . + + +### https://w3id.org/saref#hasMeterReadingType +saref:hasMeterReadingType rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the reading type of a measurement (e.g., Water, Gas, Pressure , Energy , Power, etc.)"^^xsd:string ; + rdfs:label "has meter reading type"^^xsd:string . + + +### https://w3id.org/saref#hasPrice +saref:hasPrice rdf:type owl:ObjectProperty ; + rdfs:comment "A relationships indentifying the price associated to an entity"^^xsd:string ; + rdfs:label "has price"^^xsd:string . + + +### https://w3id.org/saref#hasProfile +saref:hasProfile rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship associating a profile to a certain entity (e.g., a device)"^^xsd:string ; + rdfs:label "has profile"^^xsd:string . + + +### https://w3id.org/saref#hasSensingRange +saref:hasSensingRange rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a sensing function and a measurement identifying the range of a sensor detection"^^xsd:string ; + rdfs:label "has sensing range "^^xsd:string . + + +### https://w3id.org/saref#hasSensorType +saref:hasSensorType rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the sensing type of a sensor detection (i.e., Temperature, Occupancy, Humidity, Motion , Smoke, Pressure, etc.) "^^xsd:string ; + rdfs:label "has sensor type"^^xsd:string . + + +### https://w3id.org/saref#hasState +saref:hasState rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of state of a device"^^xsd:string ; + rdfs:label "has state"^^xsd:string . + + +### https://w3id.org/saref#hasThresholdMeasurement +saref:hasThresholdMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship associated with an event function to notify that a certain threshold measurement has been exceeded"^^xsd:string ; + rdfs:label "has threshold measurement"^^xsd:string . + + +### https://w3id.org/saref#hasTime +saref:hasTime rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship to associate time information to an entity"^^xsd:string ; + rdfs:label "has time"^^xsd:string . + + +### https://w3id.org/saref#hasTypicalConsumption +saref:hasTypicalConsumption rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the typical (energy or power) consumption of a device"^^xsd:string ; + rdfs:label "has typical consumption"^^xsd:string . + + +### https://w3id.org/saref#isAbout +saref:isAbout rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying what an entity, such as a Profile, is about"@en ; + rdfs:label "isAbout"@en . + + +### https://w3id.org/saref#isAccomplishedBy +saref:isAccomplishedBy rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)"^^xsd:string ; + rdfs:label "is accomplished by"^^xsd:string . + + +### https://w3id.org/saref#isCommandOf +saref:isCommandOf rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function."^^xsd:string ; + rdfs:label "is command of"^^xsd:string . + + +### https://w3id.org/saref#isControlledByDevice +saref:isControlledByDevice rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can control a certain property"@en ; + rdfs:label "is controlled by device"^^xsd:string . + + +### https://w3id.org/saref#isMeasuredByDevice +saref:isMeasuredByDevice rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the devices that can measure a certain property"@en ; + rdfs:label "is measured by device"^^xsd:string . + + +### https://w3id.org/saref#isMeasuredIn +saref:isMeasuredIn rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the unit of measure used for a certain entity."^^xsd:string ; + rdfs:label "is measured in"^^xsd:string . + + +### https://w3id.org/saref#isOfferedBy +saref:isOfferedBy rdf:type owl:ObjectProperty ; + owl:inverseOf saref:offers ; + rdfs:comment "A relationship between a service and a device that offers the service"^^xsd:string ; + rdfs:label "is offered by"^^xsd:string . + + +### https://w3id.org/saref#isUsedFor +saref:isUsedFor rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the purpose for which a device is used for (e.g., controlling a Commodity)"^^xsd:string ; + rdfs:label "is used for"^^xsd:string . + + +### https://w3id.org/saref#makesMeasurement +saref:makesMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:label "makes measurement"@en . + + +### https://w3id.org/saref#measuresProperty +saref:measuresProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship specifying the Property that can be measured by a certain Device"@en ; + rdfs:label "measures property"@en . + + +### https://w3id.org/saref#offers +saref:offers rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a device and a service"^^xsd:string ; + rdfs:label "offers"^^xsd:string . + + +### https://w3id.org/saref#relatesToMeasurement +saref:relatesToMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a property and the measurements it relates to"^^xsd:string ; + rdfs:label "relates to measurement"@en . + + +### https://w3id.org/saref#relatesToProperty +saref:relatesToProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a measurement and the property it relates to"^^xsd:string ; + rdfs:label "relates to property"@en . + + +### https://w3id.org/saref#represents +saref:represents rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a service and a function."^^xsd:string ; + rdfs:label "represents"^^xsd:string . + + +################################################################# +# Data properties +################################################################# + +### https://w3id.org/saref#hasDescription +saref:hasDescription rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has description"^^xsd:string . + + +### https://w3id.org/saref#hasManufacturer +saref:hasManufacturer rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has manufacturer"^^xsd:string . + + +### https://w3id.org/saref#hasModel +saref:hasModel rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has model"^^xsd:string . + + +### https://w3id.org/saref#hasName +saref:hasName rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)"^^xsd:string ; + rdfs:label "has name"^^xsd:string . + + +### https://w3id.org/saref#hasTimestamp +saref:hasTimestamp rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:label "has timestamp"@en . + + +### https://w3id.org/saref#hasValue +saref:hasValue rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"^^xsd:string ; + rdfs:label "has value"^^xsd:string . + + +################################################################# +# Classes +################################################################# + +### http://www.w3.org/2006/time#TemporalUnit +time:TemporalUnit rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for time"^^xsd:string . + + +### https://w3id.org/saref#ActuatingFunction +saref:ActuatingFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function ; + rdfs:comment "A function that allows to transmit data to actuators, such as level settings (e.g., temperature) or binary switching (e.g., open/close, on/off)"^^xsd:string ; + rdfs:label "Actuating function"^^xsd:string . + + +### https://w3id.org/saref#Actuator +saref:Actuator rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:ActuatingFunction + ] ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system by performing an actuating function"^^xsd:string ; + rdfs:label "Actuator"^^xsd:string . + + +### https://w3id.org/saref#Appliance +saref:Appliance rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:comment "An electrical/mechanical machine that accomplish some household functions, such as cleaning or cooking"^^xsd:string ; + rdfs:label "Appliance"^^xsd:string . + + +### https://w3id.org/saref#BuildingRelated +saref:BuildingRelated rdf:type owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A category that includes devices as described by building related data models, such as IFC and FIEMSER "^^xsd:string ; + rdfs:label "Building related"^^xsd:string . + + +### https://w3id.org/saref#CloseCommand +saref:CloseCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OpenCloseState + ] ; + owl:disjointWith saref:OpenCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Close command"^^xsd:string . + + +### https://w3id.org/saref#CloseState +saref:CloseState rdf:type owl:Class ; + rdfs:subClassOf saref:OpenCloseState ; + rdfs:comment "The state of a device that is CLOSE"^^xsd:string ; + rdfs:label "Close state"^^xsd:string . + + +### https://w3id.org/saref#Coal +saref:Coal rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Coal"^^xsd:string . + + +### https://w3id.org/saref#Command +saref:Command rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Command"^^xsd:string . + + +### https://w3id.org/saref#Commodity +saref:Commodity rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure + ] ; + rdfs:comment "A marketable item for which there is demand, but which is supplied without qualitative differentiation across a market. SAREF refers to energy commodities such as electricity, gas, coal and oil. "^^xsd:string ; + rdfs:label "Commodity"^^xsd:string . + + +### https://w3id.org/saref#Currency +saref:Currency rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for price"^^xsd:string ; + rdfs:label "Currency"^^xsd:string . + + +### https://w3id.org/saref#Device +saref:Device rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:allValuesFrom saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:controlsProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasProfile ; + owl:allValuesFrom saref:Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:allValuesFrom saref:State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTypicalConsumption ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:Energy + saref:Power + ) + ] + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isUsedFor ; + owl:allValuesFrom saref:Commodity + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:offers ; + owl:allValuesFrom saref:Service + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Task + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasManufacturer ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasModel ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Device"^^xsd:string . + + +### https://w3id.org/saref#DoorSwitch +saref:DoorSwitch rdf:type owl:Class ; + rdfs:subClassOf saref:Switch , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OpenCloseFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OpenCloseState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Safety + ] ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Safety, performs the saref:OpenCloseFunction, is used for controlling a door, and can be found in the state saref:OpenCloseState."^^xsd:string ; + rdfs:label "Door switch"^^xsd:string . + + +### https://w3id.org/saref#Electricity +saref:Electricity rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Electricity"^^xsd:string . + + +### https://w3id.org/saref#Energy +saref:Energy rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value measured in an energy unit (such as Kilowatt_Hour or Watt_hour). Furter specializations of the saref:Energy class can be found in the SAREF4ENER extension, where classes such as EnergyMax, EnergyMin and EnergyExpected are defined. "^^xsd:string ; + rdfs:label "Energy"^^xsd:string . + + +### https://w3id.org/saref#EnergyMeter +saref:EnergyMeter rdf:type owl:Class ; + rdfs:subClassOf saref:Meter , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Meter + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Energy + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:EnergyEfficiency + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:MeterReading + ] ; + rdfs:comment "An energy meter is a device of category saref:Meter that consists of a meter, accomplishes the tasks saref:MeterReading and saref:EnergyEfficiency, performs the saref:MeteringFunction and is used for the purpose of measuring the saref:Energy property"^^xsd:string ; + rdfs:label "Energy meter"^^xsd:string . + + +### https://w3id.org/saref#EnergyRelated +saref:EnergyRelated rdf:type owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A category that considers devices based on energy consumption information and profiles to optimize energy efficiency."^^xsd:string ; + rdfs:label "Energy related"^^xsd:string . + + +### https://w3id.org/saref#EnergyUnit +saref:EnergyUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for energy"^^xsd:string ; + rdfs:label "Energy unit"^^xsd:string . + + +### https://w3id.org/saref#EventFunction +saref:EventFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom saref:NotifyCommand + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasThresholdMeasurement ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Measurement + ] ; + rdfs:comment "A function that allows to notify another device that a certain threshold value has been exceeded."^^xsd:string ; + rdfs:label "Event function"^^xsd:string . + + +### https://w3id.org/saref#Function +saref:Function rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command + ] ; + rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. "^^xsd:string ; + rdfs:label "Function"^^xsd:string . + + +### https://w3id.org/saref#FunctionRelated +saref:FunctionRelated rdf:type owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A category that considers devices, sensors and their specification in terms of functions, states and services"^^xsd:string ; + rdfs:label "Function related"^^xsd:string . + + +### https://w3id.org/saref#Gas +saref:Gas rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Gas"^^xsd:string . + + +### https://w3id.org/saref#Generator +saref:Generator rdf:type owl:Class ; + rdfs:subClassOf saref:EnergyRelated ; + rdfs:comment "A type of energy-related device that generates energy"^^xsd:string ; + rdfs:label "Generator"^^xsd:string . + + +### https://w3id.org/saref#GetCommand +saref:GetCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Get command"^^xsd:string . + + +### https://w3id.org/saref#GetCurrentMeterValueCommand +saref:GetCurrentMeterValueCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get current meter value command"^^xsd:string . + + +### https://w3id.org/saref#GetMeterDataCommand +saref:GetMeterDataCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get meter data command"^^xsd:string . + + +### https://w3id.org/saref#GetMeterHistoryCommand +saref:GetMeterHistoryCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get meter history command"^^xsd:string . + + +### https://w3id.org/saref#GetSensingDataCommand +saref:GetSensingDataCommand rdf:type owl:Class ; + rdfs:subClassOf saref:GetCommand ; + rdfs:comment "A type of get command"^^xsd:string ; + rdfs:label "Get sensing data command"^^xsd:string . + + +### https://w3id.org/saref#HVAC +saref:HVAC rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Comfort + ] ; + rdfs:comment "Heating, Ventilation and Air Conditioning (HVAC) device that provides indoor environmental comfort"^^xsd:string ; + rdfs:label "HVAC"^^xsd:string . + + +### https://w3id.org/saref#Humidity +saref:Humidity rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"^^xsd:string ; + rdfs:label "Humidity"^^xsd:string . + + +### https://w3id.org/saref#IlluminanceUnit +saref:IlluminanceUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for light"^^xsd:string ; + rdfs:label "Illuminance unit"^^xsd:string . + + +### https://w3id.org/saref#LevelControlFunction +saref:LevelControlFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:SetAbsoluteLevelCommand + saref:SetRelativeLevelCommand + saref:StepDownCommand + saref:StepUpCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. "^^xsd:string ; + rdfs:label "Level control function"^^xsd:string . + + +### https://w3id.org/saref#Light +saref:Light rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a illuminance unit (lux)"^^xsd:string ; + rdfs:label "Light"^^xsd:string . + + +### https://w3id.org/saref#LightSwitch +saref:LightSwitch rdf:type owl:Class ; + rdfs:subClassOf saref:Switch , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Switch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:OnOffFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:OnOffState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Light + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:offers ; + owl:someValuesFrom saref:SwitchOnService + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Lighting + ] ; + rdfs:comment "A device of category saref:Actuator that consists of a switch, accomplishes the task saref:Lighting, performs the saref:OnOffFunction, measures the property saref:Light, and can be found in the state saref:OnOffState. It can offer a switch on service."^^xsd:string ; + rdfs:label "Light switch"^^xsd:string . + + +### https://w3id.org/saref#LightingDevice +saref:LightingDevice rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Comfort + ] ; + rdfs:comment "A device used for illumination, irradiation, signaling, or projection"^^xsd:string ; + rdfs:label "Lighting device"^^xsd:string . + + +### https://w3id.org/saref#Load +saref:Load rdf:type owl:Class ; + rdfs:subClassOf saref:EnergyRelated ; + rdfs:comment "A type of energy-related device that consumes energy"^^xsd:string ; + rdfs:label "Load"^^xsd:string . + + +### https://w3id.org/saref#Measurement +saref:Measurement rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float + ] ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en . + + +### https://w3id.org/saref#Meter +saref:Meter rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:MeteringFunction + ] ; + rdfs:comment "A device built to accurately detect and display a quantity in a form readable by a human being. Further, a device of category saref:Meter that performs a saref:MeteringFunction."^^xsd:string ; + rdfs:label "Meter"^^xsd:string . + + +### https://w3id.org/saref#MeteringFunction +saref:MeteringFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:GetCurrentMeterValueCommand + saref:GetMeterDataCommand + saref:GetMeterHistoryCommand + ) + ] + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasMeterReading ; + owl:allValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasMeterReadingType ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:Commodity + saref:Property + ) + ] + ] ; + rdfs:comment "A function that allows to get data from a meter, such as current meter reading or instantaneous demand"^^xsd:string ; + rdfs:label "Metering function"^^xsd:string . + + +### https://w3id.org/saref#MicroRenewable +saref:MicroRenewable rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:EnergyEfficiency + ] ; + rdfs:comment "A device that generates renewable energy from natural resources such as teh sun, wind and water"^^xsd:string ; + rdfs:label "Micro renewable"^^xsd:string . + + +### https://w3id.org/saref#Motion +saref:Motion rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for motion"^^xsd:string ; + rdfs:label "Motion"^^xsd:string . + + +### https://w3id.org/saref#MultiLevelState +saref:MultiLevelState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "Multi level state"^^xsd:string . + + +### https://w3id.org/saref#Multimedia +saref:Multimedia rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Entertainment + ] ; + rdfs:comment "A device designed to display, store, record or play multimedia content such as audio, images, animation, video "^^xsd:string ; + rdfs:label "Multimedia"^^xsd:string . + + +### https://w3id.org/saref#Network +saref:Network rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated ; + rdfs:comment "A device used to connect other devices in a network, such as hub, switch or router in a Local Area Network (LAN). "^^xsd:string ; + rdfs:label "Network"^^xsd:string . + + +### https://w3id.org/saref#NotifyCommand +saref:NotifyCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Notify command"^^xsd:string . + + +### https://w3id.org/saref#Occupancy +saref:Occupancy rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value (saref:hasValue property) that is measured in a unit of measure for occupancy"^^xsd:string ; + rdfs:label "Occupancy"^^xsd:string . + + +### https://w3id.org/saref#OffCommand +saref:OffCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OnOffState + ] ; + owl:disjointWith saref:OnCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Off command"^^xsd:string . + + +### https://w3id.org/saref#OffState +saref:OffState rdf:type owl:Class ; + rdfs:subClassOf saref:OnOffState ; + rdfs:comment "The state of a device that is ON"^^xsd:string ; + rdfs:label "Off state"^^xsd:string . + + +### https://w3id.org/saref#OnCommand +saref:OnCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OnOffState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "On command"^^xsd:string . + + +### https://w3id.org/saref#OnOffFunction +saref:OnOffFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:OffCommand + saref:OnCommand + saref:ToggleCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to switch on and off an actuator"^^xsd:string ; + rdfs:label "On off function"^^xsd:string . + + +### https://w3id.org/saref#OnOffState +saref:OnOffState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "On off state"^^xsd:string . + + +### https://w3id.org/saref#OnState +saref:OnState rdf:type owl:Class ; + rdfs:subClassOf saref:OnOffState ; + rdfs:comment "The state of a device that is OFF "^^xsd:string ; + rdfs:label "On state"^^xsd:string . + + +### https://w3id.org/saref#OpenCloseFunction +saref:OpenCloseFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:CloseCommand + saref:OpenCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to open and close a device"^^xsd:string ; + rdfs:label "Open close function"^^xsd:string . + + +### https://w3id.org/saref#OpenCloseState +saref:OpenCloseState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "Open close state"^^xsd:string . + + +### https://w3id.org/saref#OpenCommand +saref:OpenCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:OpenCloseState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Open command"^^xsd:string . + + +### https://w3id.org/saref#OpenState +saref:OpenState rdf:type owl:Class ; + rdfs:subClassOf saref:OpenCloseState ; + rdfs:comment "The state of a device that is OPEN "^^xsd:string ; + rdfs:label "Open state"^^xsd:string . + + +### https://w3id.org/saref#PauseCommand +saref:PauseCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Pause command"^^xsd:string . + + +### https://w3id.org/saref#Power +saref:Power rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a power unit (such as watt or kilowatt). Further specializations of the saref:Power class can be found in the SAREF4ENER extension, where classes such as PowerMax, PowerMin and PowerExpected are defined."^^xsd:string ; + rdfs:label "Power"^^xsd:string . + + +### https://w3id.org/saref#PowerUnit +saref:PowerUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for power"^^xsd:string ; + rdfs:label "Power unit"^^xsd:string . + + +### https://w3id.org/saref#Pressure +saref:Pressure rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a pressure unit (bar or pascal)"^^xsd:string ; + rdfs:label "Pressure"^^xsd:string . + + +### https://w3id.org/saref#PressureUnit +saref:PressureUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for pressure"^^xsd:string ; + rdfs:label "Pressure unit"^^xsd:string . + + +### https://w3id.org/saref#Price +saref:Price rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property crelated to some measurements that are characterized by a certain value that is measured using saref:Currency"^^xsd:string ; + rdfs:label "Price"^^xsd:string . + + +### https://w3id.org/saref#Profile +saref:Profile rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:allValuesFrom saref:Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasPrice ; + owl:allValuesFrom saref:Price + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTime ; + owl:allValuesFrom saref:Time + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isAbout ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:Commodity + saref:Property + ) + ] + ] ; + rdfs:comment "A specification associated to a device to collect information about a certain Property (e.g., Energy) or Commodity (e.g.Water) for optimizing its usage in the home, office or building in which the device is located. This specification is about a certain Property or Commodity (saref:isAbout), can be calculated over a time span (saref:hasTime ) and can be associated to some costs (saref:hasPrice). An example is the Power Profile defined in the SAREF4ENER extension that can be associated to a device for optimizing the Energy efficiency in the home, office or building in which the device is located."@en ; + rdfs:label "Profile"@en . + + +### https://w3id.org/saref#Property +saref:Property rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isControlledByDevice ; + owl:allValuesFrom saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredByDevice ; + owl:allValuesFrom saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToMeasurement ; + owl:allValuesFrom saref:Measurement + ] ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Property"^^xsd:string . + + +### https://w3id.org/saref#SensingFunction +saref:SensingFunction rdf:type owl:Class ; + rdfs:subClassOf saref:Function , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasSensingRange ; + owl:someValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom saref:GetSensingDataCommand + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasSensorType ; + owl:allValuesFrom saref:Property + ] ; + rdfs:comment "A function that allows to transmit data from sensors, such as measurement values (e.g., temperature) or sensing data (e.g., occupancy)"^^xsd:string ; + rdfs:label "Sensing function"^^xsd:string . + + +### https://w3id.org/saref#Sensor +saref:Sensor rdf:type owl:Class ; + rdfs:subClassOf saref:FunctionRelated , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. Further, a device of category saref:Sensor that performs a saref:SensingFunction."^^xsd:string ; + rdfs:label "Sensor"^^xsd:string . + + +### https://w3id.org/saref#Service +saref:Service rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isOfferedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:represents ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function + ] ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service and the function(s) to be represented."^^xsd:string ; + rdfs:label "Service"^^xsd:string . + + +### https://w3id.org/saref#SetAbsoluteLevelCommand +saref:SetAbsoluteLevelCommand rdf:type owl:Class ; + rdfs:subClassOf saref:SetLevelCommand ; + rdfs:comment "A type of set level command"^^xsd:string ; + rdfs:label "Set absolute level command"^^xsd:string . + + +### https://w3id.org/saref#SetLevelCommand +saref:SetLevelCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:MultiLevelState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Set level command"^^xsd:string . + + +### https://w3id.org/saref#SetRelativeLevelCommand +saref:SetRelativeLevelCommand rdf:type owl:Class ; + rdfs:subClassOf saref:SetLevelCommand ; + rdfs:comment "A type of set level command"^^xsd:string ; + rdfs:label "Set relative level command"^^xsd:string . + + +### https://w3id.org/saref#Smoke +saref:Smoke rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a unit of measure for smoke"^^xsd:string ; + rdfs:label "Smoke"^^xsd:string . + + +### https://w3id.org/saref#SmokeSensor +saref:SmokeSensor rdf:type owl:Class ; + rdfs:subClassOf saref:Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:EventFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Smoke + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Safety + ] ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and saref:EventFunction (which notifies that a certain threshold has been exceeded), and is used for the purpose of sensing a property of type saref:Smoke."^^xsd:string ; + rdfs:label "Smoke sensor"^^xsd:string . + + +### https://w3id.org/saref#StartCommand +saref:StartCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:StartStopState + ] ; + owl:disjointWith saref:StopCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Start command"^^xsd:string . + + +### https://w3id.org/saref#StartState +saref:StartState rdf:type owl:Class ; + rdfs:subClassOf saref:StartStopState ; + rdfs:comment "The state of a device that is STARTED"^^xsd:string ; + rdfs:label "Start state"^^xsd:string . + + +### https://w3id.org/saref#StartStopFunction +saref:StartStopFunction rdf:type owl:Class ; + rdfs:subClassOf saref:ActuatingFunction , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( saref:StartCommand + saref:StopCommand + ) + ] + ] ; + rdfs:comment "An actuating function that allows to start and stop a device"^^xsd:string ; + rdfs:label "Start stop function"^^xsd:string . + + +### https://w3id.org/saref#StartStopState +saref:StartStopState rdf:type owl:Class ; + rdfs:subClassOf saref:State ; + rdfs:comment "A type of state"^^xsd:string ; + rdfs:label "Start stop state"^^xsd:string . + + +### https://w3id.org/saref#State +saref:State rdf:type owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "State"^^xsd:string . + + +### https://w3id.org/saref#StepDownCommand +saref:StepDownCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:MultiLevelState + ] ; + owl:disjointWith saref:StepUpCommand ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Step down command"^^xsd:string . + + +### https://w3id.org/saref#StepUpCommand +saref:StepUpCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:MultiLevelState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Step up command"^^xsd:string . + + +### https://w3id.org/saref#StopCommand +saref:StopCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:StartStopState + ] ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Stop command"^^xsd:string . + + +### https://w3id.org/saref#StopState +saref:StopState rdf:type owl:Class ; + rdfs:subClassOf saref:StartStopState ; + rdfs:comment "The state of a device that is STOPPED"^^xsd:string ; + rdfs:label "Stop state"^^xsd:string . + + +### https://w3id.org/saref#Storage +saref:Storage rdf:type owl:Class ; + rdfs:subClassOf saref:EnergyRelated ; + rdfs:comment "A type of energy-related device that stores energy"^^xsd:string ; + rdfs:label "Storage"^^xsd:string . + + +### https://w3id.org/saref#Switch +saref:Switch rdf:type owl:Class ; + rdfs:subClassOf saref:Actuator ; + rdfs:comment "A device of category saref:Actuator that performs an actuating function of type saref:OnOffFunction or saref:OpenCloseFunction"^^xsd:string ; + rdfs:label "Switch"^^xsd:string . + + +### https://w3id.org/saref#SwitchOnService +saref:SwitchOnService rdf:type owl:Class ; + rdfs:subClassOf saref:Service , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isOfferedBy ; + owl:someValuesFrom saref:LightSwitch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:represents ; + owl:someValuesFrom saref:OnOffFunction + ] ; + rdfs:comment "A type of service that represents an on/off function to the network"^^xsd:string ; + rdfs:label "Switch on service"^^xsd:string . + + +### https://w3id.org/saref#Task +saref:Task rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isAccomplishedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device + ] ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Task"^^xsd:string . + + +### https://w3id.org/saref#Temperature +saref:Temperature rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"^^xsd:string ; + rdfs:label "Temperature"^^xsd:string . + + +### https://w3id.org/saref#TemperatureSensor +saref:TemperatureSensor rdf:type owl:Class ; + rdfs:subClassOf saref:Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom saref:Sensor + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:SensingFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom saref:Temperature + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Comfort + ] ; + rdfs:comment "A device that consists of a sensor, has category saref:Sensor, performs the saref:SensingFunction and is used for the purpose of sensing a property of type saref:Temperature"^^xsd:string ; + rdfs:label "Temperature sensor"^^xsd:string . + + +### https://w3id.org/saref#TemperatureUnit +saref:TemperatureUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "The unit of measure for temperature"^^xsd:string ; + rdfs:label "Temperature unit"^^xsd:string . + + +### https://w3id.org/saref#Time +saref:Time rdf:type owl:Class ; + rdfs:subClassOf saref:Property , + [ rdf:type owl:Restriction ; + owl:onProperty saref:consistsOf ; + owl:someValuesFrom time:TemporalEntity + ] ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology."^^xsd:string ; + rdfs:label "Time"^^xsd:string . + + +### https://w3id.org/saref#ToggleCommand +saref:ToggleCommand rdf:type owl:Class ; + rdfs:subClassOf saref:Command ; + rdfs:comment "A type of command"^^xsd:string ; + rdfs:label "Toggle command"^^xsd:string . + + +### https://w3id.org/saref#UnitOfMeasure +saref:UnitOfMeasure rdf:type owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."^^xsd:string ; + rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ; + rdfs:label "Unit of measure"^^xsd:string . + + +### https://w3id.org/saref#WashingMachine +saref:WashingMachine rdf:type owl:Class ; + rdfs:subClassOf saref:Appliance , + saref:Load , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:someValuesFrom saref:StartStopFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasProfile ; + owl:someValuesFrom saref:Profile + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:someValuesFrom saref:StartStopState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:accomplishes ; + owl:hasValue saref:Washing + ] ; + rdfs:comment "A device of category saref:Appliance and saref:Load that accomplishes the task saref:Washing, performs an actuating function of type saref:StartStopFunction, can be found in the state saref:StartStopState, and can have a saref:Profile that characterizes its energy consumption. "^^xsd:string ; + rdfs:label "Washing machine"^^xsd:string . + + +### https://w3id.org/saref#Water +saref:Water rdf:type owl:Class ; + rdfs:subClassOf saref:Commodity ; + rdfs:comment "A type of commodity"^^xsd:string ; + rdfs:label "Water"^^xsd:string . + + +################################################################# +# Individuals +################################################################# + +### http://www.wurvoc.org/vocabularies/om-1.8/United_States_dollar +om:United_States_dollar rdf:type owl:NamedIndividual , + saref:Currency ; + rdfs:label "United States dollar"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/bar +om:bar rdf:type owl:NamedIndividual , + saref:PressureUnit ; + rdfs:comment "The bar is a unit of pressure defined as 100 000 pascal."@en ; + rdfs:label "bar"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/degree_Celsius +om:degree_Celsius rdf:type owl:NamedIndividual , + saref:TemperatureUnit ; + rdfs:comment "The degree Celsius is a unit of temperature defined as 1 kelvin."@en ; + rdfs:label "degree Celsius"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/degree_Fahrenheit +om:degree_Fahrenheit rdf:type owl:NamedIndividual , + saref:TemperatureUnit ; + rdfs:comment "The degree Fahrenheit is a unit of temperature defined as 5.555556e-1 kelvin."@en ; + rdfs:label "degree Fahrenheit"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/euro +om:euro rdf:type owl:NamedIndividual , + saref:Currency ; + rdfs:label "euro"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kelvin +om:kelvin rdf:type owl:NamedIndividual , + saref:TemperatureUnit ; + rdfs:comment "The kelvin is a unit of temperature defined as 1/273.16 of the thermodynamic temperature of the triple point of water."@en ; + rdfs:label "kelvin"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kilowatt +om:kilowatt rdf:type owl:NamedIndividual , + saref:PowerUnit ; + rdfs:label "kilowatt"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kilowatt_hour +om:kilowatt_hour rdf:type owl:NamedIndividual , + saref:EnergyUnit ; + rdfs:comment "The kilowatt hour is a unit of energy equal to 1,000 watt-hours, or 3.6 megajoules."^^xsd:string ; + rdfs:label "kilowatt hour"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/lux +om:lux rdf:type owl:NamedIndividual , + saref:IlluminanceUnit ; + rdfs:comment "The lux is a unit of illuminance defined as lumen divided by square metre = candela times steradian divided by square metre."@en ; + rdfs:label "lux"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/pascal +om:pascal rdf:type owl:NamedIndividual , + saref:PressureUnit ; + rdfs:comment "The pascal is a unit of pressure and stress defined as newton divided by square metre = joule divided by cubic metre = kilogram divided by metre second squared."@en ; + rdfs:label "pascal"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/pound_sterling +om:pound_sterling rdf:type owl:NamedIndividual , + saref:Currency ; + rdfs:label "Great Britain pound sterling"^^xsd:string . + + +### http://www.wurvoc.org/vocabularies/om-1.8/watt +om:watt rdf:type owl:NamedIndividual , + saref:PowerUnit ; + rdfs:comment "The watt is a unit of power defined as joule divided by second = newton times metre divided by second = volt times ampere = kilogram times square metre divided by second to the power 3."@en ; + rdfs:label "watt"^^xsd:string . + + +### https://w3id.org/saref#Cleaning +saref:Cleaning rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Cleaning"^^xsd:string . + + +### https://w3id.org/saref#Close +saref:Close rdf:type owl:NamedIndividual , + saref:CloseCommand , + saref:CloseState ; + rdfs:comment "The value CLOSE. It is used to instantiate different classes such as the CloseCommand class and CloseState class, for example. "^^xsd:string ; + rdfs:label "Close"^^xsd:string . + + +### https://w3id.org/saref#Comfort +saref:Comfort rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Comfort"^^xsd:string . + + +### https://w3id.org/saref#Drying +saref:Drying rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Drying"^^xsd:string . + + +### https://w3id.org/saref#EnergyEfficiency +saref:EnergyEfficiency rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "EnergyEfficiency"^^xsd:string . + + +### https://w3id.org/saref#Entertainment +saref:Entertainment rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Entertainment"^^xsd:string . + + +### https://w3id.org/saref#GetCurrentMeterValue +saref:GetCurrentMeterValue rdf:type owl:NamedIndividual , + saref:GetCurrentMeterValueCommand ; + rdfs:comment "The command GET CURRENT METER VALUE. It is used to instantiate the GetCurrentMeterValueCommand class. "^^xsd:string ; + rdfs:label "Get current meter value"^^xsd:string . + + +### https://w3id.org/saref#GetMeterData +saref:GetMeterData rdf:type owl:NamedIndividual , + saref:GetMeterDataCommand ; + rdfs:comment "The command GET METER DATA. It is used to instantiate the GetMeterDataCommand class. "^^xsd:string ; + rdfs:label "Get meter data"^^xsd:string . + + +### https://w3id.org/saref#GetMeterHistory +saref:GetMeterHistory rdf:type owl:NamedIndividual , + saref:GetMeterHistoryCommand ; + rdfs:comment "The command GET METER HISTORY. It is used to instantiate the GetMeterHistoryCommand class. "^^xsd:string ; + rdfs:label "Get meter history"^^xsd:string . + + +### https://w3id.org/saref#GetSensingData +saref:GetSensingData rdf:type owl:NamedIndividual , + saref:GetSensingDataCommand ; + rdfs:comment "The command GET SENSING DATA. It is used to instantiate the GetSensingDataCommand class. "^^xsd:string ; + rdfs:label "Get sensing data"^^xsd:string . + + +### https://w3id.org/saref#Lighting +saref:Lighting rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Lighting"^^xsd:string . + + +### https://w3id.org/saref#MeterReading +saref:MeterReading rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Meter reading"^^xsd:string . + + +### https://w3id.org/saref#Notify +saref:Notify rdf:type owl:NamedIndividual , + saref:NotifyCommand ; + rdfs:comment "The value NOTIFY. It is used to instantiate the NotifyCommand."^^xsd:string ; + rdfs:label "Notify"^^xsd:string . + + +### https://w3id.org/saref#Off +saref:Off rdf:type owl:NamedIndividual , + saref:OffCommand , + saref:OffState ; + rdfs:comment "The value OFF. It is used to instantiate different classes such as the OffCommand class and OffState class. "^^xsd:string ; + rdfs:label "Off "^^xsd:string . + + +### https://w3id.org/saref#On +saref:On rdf:type owl:NamedIndividual , + saref:OnCommand , + saref:OnState ; + rdfs:comment "The value ON. It is used to instantiate different classes such as the OnCommand class and OnState class. "^^xsd:string ; + rdfs:label "On"^^xsd:string . + + +### https://w3id.org/saref#Open +saref:Open rdf:type owl:NamedIndividual , + saref:OpenCommand , + saref:OpenState ; + rdfs:comment "The value OPEN. It is used to instantiate different classes such as the OpenCommand class and OpenState class. "^^xsd:string ; + rdfs:label "Open"^^xsd:string . + + +### https://w3id.org/saref#Pause +saref:Pause rdf:type owl:NamedIndividual , + saref:PauseCommand ; + rdfs:comment "The value PAUSE. It is used to instantiate classes such as the PauseCommand class."^^xsd:string ; + rdfs:label "Pause"^^xsd:string . + + +### https://w3id.org/saref#Safety +saref:Safety rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Safety"^^xsd:string . + + +### https://w3id.org/saref#SetAbsoluteLevel +saref:SetAbsoluteLevel rdf:type owl:NamedIndividual , + saref:SetAbsoluteLevelCommand ; + rdfs:comment "The value SET ABSOLUTE LEVEL. It is used to instantiate classes such as the SetAbsoluteLevelCommand class. "^^xsd:string ; + rdfs:label "Set absolute level"^^xsd:string . + + +### https://w3id.org/saref#SetRelativeLevel +saref:SetRelativeLevel rdf:type owl:NamedIndividual , + saref:SetRelativeLevelCommand ; + rdfs:comment "The value SET RELATIVE LEVEL. It is used to instantiate classes such as the SetRelativeLevelCommand class. "^^xsd:string ; + rdfs:label "Set relative level"^^xsd:string . + + +### https://w3id.org/saref#Start +saref:Start rdf:type owl:NamedIndividual , + saref:StartCommand , + saref:StartState ; + rdfs:comment "The value START. It is used to instantiate different classes such as the StartCommand class and StartState class. "^^xsd:string ; + rdfs:label "Start"^^xsd:string . + + +### https://w3id.org/saref#StepDown +saref:StepDown rdf:type owl:NamedIndividual , + saref:StepDownCommand ; + rdfs:comment "The value STEP DOWN. It is used to instantiate the StepDownCommand class. "^^xsd:string ; + rdfs:label "Step down"^^xsd:string . + + +### https://w3id.org/saref#StepUp +saref:StepUp rdf:type owl:NamedIndividual , + saref:StepUpCommand ; + rdfs:comment "The value STEP UP. It is used to instantiate the StepUpCommand class. "^^xsd:string ; + rdfs:label "Step up"^^xsd:string . + + +### https://w3id.org/saref#Stop +saref:Stop rdf:type owl:NamedIndividual , + saref:StopCommand , + saref:StopState ; + rdfs:comment "The value STOP. It is used to instantiate different classes such as the StopCommand class and StopState class. "^^xsd:string ; + rdfs:label "Stop"^^xsd:string . + + +### https://w3id.org/saref#Toggle +saref:Toggle rdf:type owl:NamedIndividual , + saref:ToggleCommand ; + rdfs:comment "The value TOGGLE. It is used to instantiate the the ToggleCommand class"^^xsd:string ; + rdfs:label "Toggle"^^xsd:string . + + +### https://w3id.org/saref#Washing +saref:Washing rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "Washing"^^xsd:string . + + +### https://w3id.org/saref#WellBeing +saref:WellBeing rdf:type owl:NamedIndividual , + saref:Task ; + rdfs:comment "A type of task for which a device is designed"^^xsd:string ; + rdfs:label "WellBeing"^^xsd:string . + + +### https://w3id.org/saref#watt_hour +saref:watt_hour rdf:type owl:NamedIndividual , + saref:EnergyUnit ; + rdfs:comment "The Watt Hor is a unit of energy equivalent to one watt (1 W) of power expended for one hour (1 h) of time. An energy expenditure of 1 Wh represents 3600 joules "^^xsd:string ; + rdfs:label "watt hour"^^xsd:string . + + +### Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4agri/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4agri/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.html b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.html new file mode 100644 index 0000000000000000000000000000000000000000..45a1069ff7f261233bbe81d3f3fb3b3203c35eff --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.html @@ -0,0 +1,185 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain</h1> + <p><strong>Official ETSI documentation for SAREF4AGRI v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4AGRI ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4AGRI v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4agri.ttl">Turtle</a> or <a href="./saref4agri.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4agri#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511.</p> + <p>This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.n3 b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.n3 new file mode 100644 index 0000000000000000000000000000000000000000..c9e23c64ea30d0b4695a3630c28704a25eeda5a5 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.n3 @@ -0,0 +1,939 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix s4agri: <https://saref.etsi.org/saref4agri#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +s4agri:Intake a owl:Class ; + rdfs:isDefinedBy "The amount of food or other substance taken into the body of an animal or into the soil."@en ; + rdfs:label "Intake"@en ; + rdfs:subClassOf saref:Property . + +saref:controlsProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "controls property"@en . + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has timestamp"@en . + +<http://www.w3.org/2006/time#Instant> + a owl:Class ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Instant"@en ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4agri:Parcel a owl:Class ; + rdfs:comment "An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items."@en ; + rdfs:label "Parcel" ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Crop + ] . + +<http://www.w3.org/ns/ssn/hasDeployment> + a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has deployment"@en . + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> + a owl:ObjectProperty , owl:AnnotationProperty ; + rdfs:comment "The relation between something and the point, \r\n or other geometrical thing in space, where it is. For example, the realtionship between\r\n a radio tower and a Point with a given lat and long.\r\n Or a relationship between a park and its outline as a closed arc of points, or a road and\r\n its location as a arc (a sequence of points).\r\n Clearly in practice there will be limit to the accuracy of any such statement, but one would expect\r\n an accuracy appropriate for the size of the object and uses such as mapping .\r\n " ; + rdfs:label "location"@en ; + rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/based_near> . + +saref:isFeatureOfInterestOf + a owl:ObjectProperty ; + rdfs:comment "Relation betwwen a feature of interest and the measurments that are about it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is feature of interest of"@en . + +s4agri:Yield a owl:Class ; + rdfs:isDefinedBy "The produced amount of food for animals or of agricultural products."@en ; + rdfs:label "Yield"@en ; + rdfs:subClassOf saref:Property . + +<http://www.opengis.net/ont/geosparql#SpatialObject> + a owl:Class ; + rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.w3.org/2003/01/geo/wgs84_pos#Point> ; + owl:onProperty <http://www.w3.org/2003/01/geo/wgs84_pos#location> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfWithin> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfContains> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> + ] . + +s4agri:hasName a owl:DatatypeProperty ; + rdfs:label "has name" , "A relation to express the name of an entity (e.g.,animal)." ; + rdfs:range xsd:string . + +<http://www.w3.org/2006/time#Interval> + a owl:Class ; + rdfs:comment "A temporal entity with an extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Time interval"@en ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +saref:State a owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "State" . + +s4agri:WeatherStation + a owl:Class ; + rdfs:comment "A sensor o system that measure weather conditions."@en ; + rdfs:label "Weather station"@en ; + rdfs:subClassOf saref:Sensor , <http://www.w3.org/ns/ssn/System> . + +s4agri:Animal a owl:Class ; + rdfs:comment "An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli."@en ; + rdfs:label "Animal" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty s4agri:hasBirthDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty s4agri:hasDeathDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isMemberOf ; + owl:someValuesFrom s4agri:AnimalGroup + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4agri:ID ; + owl:onProperty s4agri:hasID + ] . + +<http://purl.obolibrary.org/obo/TAXRANK_0000000> + a owl:Class ; + rdfs:label "Taxon rank"@en . + +saref:FeatureOfInterest + a owl:Class ; + rdfs:comment saref: ; + rdfs:label "Feature of interest"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:hasProperty + ] . + +<http://www.w3.org/2003/01/geo/wgs84_pos#alt> + a owl:AnnotationProperty ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ; + rdfs:label "altitude" . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "millivolt"@en . + +s4agri:isContainedIn a owl:ObjectProperty ; + rdfs:label "is contained in"@en . + +saref:hasModel a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has model" ; + rdfs:range xsd:string . + +s4agri:SoilTensiometer + a owl:Class ; + rdfs:comment "A sensor that measures the soil moisture."@en ; + rdfs:label "Soil tensiometer"@en ; + rdfs:subClassOf saref:Sensor . + +<http://www.w3.org/ns/ssn/hasSubSystem> + a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has subsystem"@en . + +<http://www.w3.org/2004/02/skos/core#prefLabel> + a owl:AnnotationProperty . + +saref:Temperature a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)" ; + rdfs:label "Temperature" , "Temperature"@en ; + rdfs:subClassOf saref:Property . + +s4agri:isDeployedAtSpace + a owl:ObjectProperty ; + rdfs:comment "is deployed at space"@en , "Relation to indicate the geographical componet of a deployment."@en ; + rdfs:label "is deployed at space" . + +s4agri:Soil a owl:Class ; + rdfs:comment "Upper layer of the earth in which plants grow." ; + rdfs:label "Soil" ; + rdfs:subClassOf saref:FeatureOfInterest . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to property"@en . + +<http://www.w3.org/ns/sosa/Platform> + a owl:Class ; + rdfs:comment "A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "Platform"@en . + +saref:isControlledByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is controlled by device"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en , "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)." ; + rdfs:isDefinedBy saref: , <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ; + rdfs:label "Unit of measure"@en . + +saref:hasState a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has state"@en . + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:comment "Relation between a property and a feature of interest in which such property appears."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is property of"@en . + +s4agri:WateringGun a owl:Class ; + rdfs:comment "An actuator to irrigate an space."@en ; + rdfs:label "Watering gun"@en ; + rdfs:subClassOf saref:Actuator . + +<http://xmlns.com/foaf/0.1/Person> + a owl:Class ; + rdfs:label "Person"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + +s4agri:Building a owl:Class ; + rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building" ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:BuildingSpace + ] . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "millimetre"@en . + +s4agri:EatingActivitySensor + a owl:Class ; + rdfs:label "Eating activity sensor"@en ; + rdfs:subClassOf saref:Sensor . + +s4agri:ID a owl:Class ; + rdfs:label "ID" . + +s4agri:IrrigationWater + a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water falling in the soil by irrigation methods." ; + rdfs:label "Irrigation water"@en ; + rdfs:subClassOf saref:Property . + +<http://www.w3.org/ns/ssn/inDeployment> + a owl:ObjectProperty ; + rdfs:comment "Relation between a platform and the deployment(s) that takes place in the platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "in deployment"@en . + +<http://xmlns.com/foaf/0.1/member> + a owl:ObjectProperty ; + rdfs:label "member"@en . + +s4agri:hasReceived a owl:ObjectProperty ; + rdfs:label "has received" ; + owl:inverseOf s4agri:receives . + +s4agri:SoilTemperature + a saref:Temperature , owl:NamedIndividual , owl:Class ; + rdfs:comment "The degree or intensity of heat present in the soil." ; + rdfs:label "Soil temperature"@en ; + rdfs:subClassOf saref:Temperature . + +s4agri: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor "Jack Verhoosel, TNO" ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> , <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> , <http://www.garcia-castro.com/foaf.rdf#me> , <https://www.linkedin.com/in/mderoode> ; + dcterms:created "2019-04-15"^^xsd:date ; + dcterms:description "SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511. " , "This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2019-05-20"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/sarefagri/> , <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf> ; + dcterms:title "SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain" ; + vann:preferredNamespacePrefix "s4agri" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4agri#" ; + owl:versionIRI <https://saref.etsi.org/saref4agri/v1.1.1/saref4agri#> ; + owl:versionInfo "1.1.1" . + +s4agri:Pluviometer a owl:Class ; + rdfs:comment "A sensor that measures the rain fall."@en ; + rdfs:label "Pluviometer"@en ; + rdfs:subClassOf saref:Sensor . + +saref:isMeasuredByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured by device"@en . + +s4agri:MilkingSensor a owl:Class ; + rdfs:label "Milking sensor"@en ; + rdfs:subClassOf saref:Sensor . + +saref:Property a owl:Class ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." , "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Property" , "Property"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isMeasuredByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isControlledByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:isPropertyOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:relatesToMeasurement + ] ; + owl:disjointWith saref:UnitOfMeasure . + +s4agri:hasDeathDate a owl:DatatypeProperty ; + rdfs:comment "A relation to express the death date of an animal." ; + rdfs:label "has death date" ; + rdfs:range xsd:dateTime . + +s4agri:isLocationOf a owl:ObjectProperty ; + rdfs:label "is location of" . + +saref:Device a owl:Class ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +s4agri:Deployment a owl:Class ; + rdfs:comment "The scenario, including temporal and spatial information, in which the systems and devices are installed."@en , "Deployment"@en ; + rdfs:label "Deployment"@en ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/Deployment> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isDeployedAtSpace ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasDeploymentPeriod ; + owl:someValuesFrom <http://www.w3.org/2006/time#TemporalEntity> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedSystem> ; + owl:someValuesFrom <http://www.w3.org/ns/ssn/System> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedOnPlatform> ; + owl:someValuesFrom <http://www.w3.org/ns/sosa/Platform> + ] . + +s4agri:generates a owl:ObjectProperty ; + rdfs:comment "A relation to represent the yield generated by a Crop." ; + rdfs:label "generates"@en ; + rdfs:subPropertyOf saref:hasProperty . + +s4agri:hasDeploymentPeriod + a owl:ObjectProperty ; + rdfs:comment "has deployment period"@en , "Relation to indicate the temporal duration or period of a deployment."@en ; + rdfs:label "has deployment period" . + +s4agri:WateringValve a owl:Class ; + rdfs:label "Watering valve"@en ; + rdfs:subClassOf saref:Actuator . + +<http://www.opengis.net/ont/geosparql#hasGeometry> + a owl:ObjectProperty ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:domain <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ; + rdfs:label "has geometry"@en ; + rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> . + +<https://schema.org/Organization> + a owl:Class ; + rdfs:label "Organization"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +s4agri:hasHarvestDate + a owl:DatatypeProperty ; + rdfs:comment "A relation to express the day the crop is harvested." ; + rdfs:label "has harvest date" ; + rdfs:range xsd:dateTime ; + rdfs:subPropertyOf owl:topDataProperty . + +<http://www.w3.org/2003/01/geo/wgs84_pos#lat> + a owl:AnnotationProperty ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ; + rdfs:label "latitude" . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en ; + rdfs:range xsd:string . + +saref:hasManufacturer + a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer" ; + rdfs:range xsd:string . + +<http://www.w3.org/ns/ssn/deployedOnPlatform> + a owl:ObjectProperty ; + rdfs:comment "Relation between a deployment and the platform(s) involved in the deployment."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed on platform"@en ; + owl:inverseOf <http://www.w3.org/ns/ssn/inDeployment> . + +s4agri:hasMember a owl:ObjectProperty ; + rdfs:comment "A relation to represent the members of an AnimalGroup." ; + rdfs:label "has member" ; + owl:inverseOf s4agri:isMemberOf . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "degree Celsius"@en . + +<http://dbpedia.org/resource/DBM> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "decibel-milliwatts"@en . + +s4agri:AmbientHumidity + a saref:Humidity , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water vapour in the air." ; + rdfs:label "Ambient humidity"@en , "Ambient huidity"@en ; + rdfs:subClassOf saref:Humidity . + +s4agri:isLocatedIn a owl:ObjectProperty ; + rdfs:comment "A relation to express the physical location of a saref4agri entity (e.g., an animal)" ; + rdfs:label "is located in" ; + owl:inverseOf s4agri:isLocationOf . + +s4agri:Platform a owl:Class ; + rdfs:label "Platform" ; + rdfs:subClassOf <http://www.w3.org/ns/sosa/Platform> . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured in"@en . + +s4agri:Precipitation a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water falling in the soil by natural process (e.g. rain)." ; + rdfs:label "Precipitation"@en ; + rdfs:subClassOf saref:Property . + +s4agri:hasID a owl:ObjectProperty ; + rdfs:comment "A relation to express the unique identifier of an animal." ; + rdfs:label "has id"@en ; + rdfs:range s4agri:ID ; + rdfs:subPropertyOf owl:topObjectProperty . + +saref:relatesToMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to measurement"@en . + +s4agri:BuildingSpace a owl:Class ; + rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> . + +<http://www.w3.org/ns/ssn/Deployment> + a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "Deployment"@en . + +s4agri:Farm a owl:Class ; + rdfs:comment "A plot of land used for the scope of farming which can contain buildings and parcels."@en ; + rdfs:label "Farm" ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Parcel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Building + ] . + +<http://www.w3.org/ns/sosa/hosts> + a owl:ObjectProperty ; + rdfs:comment "Relation between a platform and the systems it hosts."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "host"@en ; + owl:inverseOf <http://www.w3.org/ns/sosa/isHostedBy> . + +saref:isAccomplishedBy + a owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "is accomplished by" . + +saref:Task a owl:Class ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Task" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device ; + owl:onProperty saref:isAccomplishedBy + ] . + +<http://www.w3.org/ns/ssn/deployedSystem> + a owl:ObjectProperty ; + rdfs:comment "Relation between a deployment and the system deployed."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed system"@en ; + owl:inverseOf <http://www.w3.org/ns/ssn/hasDeployment> . + +saref:hasFeatureOfInterest + a owl:ObjectProperty ; + rdfs:comment "Relation between a measurement and the feature of interest being measured."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has feature of interest"@en ; + owl:inverseOf saref:isFeatureOfInterestOf . + +saref:measurementMadeBy + a owl:ObjectProperty ; + rdfs:comment "Relation between a measurement and the device that made it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "measurement made by"@en . + +<http://www.opengis.net/ont/geosparql#sfContains> + a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:isDefinedBy <http://www.opengis.net/spec/geosparql/1.0> , <http://www.opengis.net/ont/geosparql> ; + rdfs:label "contains"@en ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> . + +<http://xmlns.com/foaf/0.1/Agent> + a owl:Class ; + rdfs:label "Agent"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://xmlns.com/foaf/0.1/member> ; + owl:someValuesFrom <http://xmlns.com/foaf/0.1/Agent> + ] . + +saref:Humidity a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit" ; + rdfs:label "Humidiy"@en , "Humidity" ; + rdfs:subClassOf saref:Property . + +saref:Sensor a owl:Class ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en ; + rdfs:subClassOf saref:Device . + +<http://www.w3.org/2004/02/skos/core#definition> + a owl:AnnotationProperty . + +s4agri:isMemberOf a owl:ObjectProperty ; + rdfs:comment "A relation to express that an animal can be part of groups." ; + rdfs:label "is member of" . + +saref:Time a owl:Class ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology." ; + rdfs:label "Time" ; + rdfs:subClassOf saref:Property . + +<http://www.w3.org/ns/ssn/System> + a owl:Class ; + 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. (Definition taken from http://www.w3.org/ns/ssn/System)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "System"@en . + +saref:hasCommand a owl:ObjectProperty ; + rdfs:comment "A relationship between an entity (such as a function) and a command" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has command" ; + owl:inverseOf saref:isCommandOf . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millibar> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "millibar"@en . + +<http://www.w3.org/2003/01/geo/wgs84_pos#Point> + a owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84." , " \r\nUniquely identified by lat/long/alt. i.e.\r\n\r\nspaciallyIntersects(P1, P2) s4agri:- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),\r\n lat(P2, LAT), long(P2, LONG), alt(P2, ALT).\r\n\r\nsameThing(P1, P2) s4agri:- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).\r\n " ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "Point"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> . + +s4agri:receives a owl:ObjectProperty ; + rdfs:comment "A relation to represent the intake/consumption of certain substances in a Crop." ; + rdfs:label "receives" ; + rdfs:subPropertyOf saref:hasProperty . + +s4agri:WateringSystem + a owl:Class ; + rdfs:label "Watering system"@en ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> . + +s4agri:managesFarm a owl:ObjectProperty ; + rdfs:label "manages farm"@en . + +<http://www.w3.org/2006/time#TemporalEntity> + a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Temporal entity"@en . + +s4agri:hasPlantDate a owl:DatatypeProperty ; + rdfs:comment "A relation to express the day the crop is planted." ; + rdfs:label "has plant date" ; + rdfs:range xsd:dateTime ; + rdfs:subPropertyOf owl:topDataProperty . + +s4agri:Crop a owl:Class ; + rdfs:comment "A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable."@en ; + rdfs:label "Crop" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasPlantDate ; + owl:someValuesFrom xsd:dateTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasHarvestDate ; + owl:someValuesFrom xsd:dateTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> + ] . + +s4agri:WeightSensor a owl:Class ; + rdfs:label "Weight sensor"@en ; + rdfs:subClassOf saref:Sensor . + +<http://www.opengis.net/ont/geosparql#sfWithin> + a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:isDefinedBy <http://www.opengis.net/spec/geosparql/1.0> , <http://www.opengis.net/ont/geosparql> ; + rdfs:label "within"@en ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> . + +s4agri:AirTemperature + a saref:Temperature , owl:NamedIndividual , owl:Class ; + rdfs:comment "The degree or intensity of heat present in the air." ; + rdfs:label "Air temperature"@en ; + rdfs:subClassOf saref:Temperature . + +<http://www.w3.org/ns/prov#hadPrimarySource> + a owl:AnnotationProperty . + +saref:Function a owl:Class ; + rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. " ; + rdfs:label "Function" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command ; + owl:onProperty saref:hasCommand + ] . + +<http://xmlns.com/foaf/0.1/based_near> + a owl:AnnotationProperty . + +saref:Command a owl:Class ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Command" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:isCommandOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:actsUpon + ] . + +saref:isCommandOf a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function." ; + rdfs:isDefinedBy saref: ; + rdfs:label "is command of" . + +<http://www.w3.org/2003/01/geo/wgs84_pos#long> + a owl:AnnotationProperty ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ; + rdfs:label "longitude" . + +s4agri:hasBirthDate a owl:DatatypeProperty ; + rdfs:comment "A relation to express the birth date of an animal." ; + rdfs:label "has birth date" ; + rdfs:range xsd:dateTime . + +saref:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has function" . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "makes measurement"@en ; + owl:inverseOf saref:measurementMadeBy . + +s4agri:contains a owl:ObjectProperty ; + rdfs:subPropertyOf <http://www.opengis.net/ont/geosparql#sfContains> ; + owl:inverseOf s4agri:isContainedIn . + +saref:actsUpon a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state" ; + rdfs:isDefinedBy saref: ; + rdfs:label "acts upon" . + +s4agri:SoilMoisture a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water or humidity contained in the soil." ; + rdfs:label "Soil moisture"@en ; + rdfs:subClassOf saref:Property . + +saref:accomplishes a owl:ObjectProperty ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes" ; + rdfs:isDefinedBy saref: ; + rdfs:label "accomplishes" ; + owl:inverseOf saref:isAccomplishedBy . + +<http://www.w3.org/ns/sosa/isHostedBy> + a owl:ObjectProperty ; + rdfs:comment "Relation between a system and its hosting platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "is hosted by"@en . + +s4agri:AnimalGroup a owl:Class ; + rdfs:comment "A collection of one or multiple animals."@en ; + rdfs:label "Animal Group" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasMember ; + owl:someValuesFrom s4agri:Animal + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield + ] . + +s4agri:MovementActivitySensor + a owl:Class ; + rdfs:label "Movement activity sensor"@en ; + rdfs:subClassOf saref:Sensor . + +<http://purl.obolibrary.org/obo/TAXRANK_1000000> + a owl:ObjectProperty ; + rdfs:label "has taxon rank"@en . + +s4agri:Thermometer a owl:Class ; + rdfs:label "Thermometer"@en ; + rdfs:subClassOf saref:Sensor . + +<http://www.opengis.net/ont/geosparql#Feature> + a owl:Class ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156s4agri:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/gml> , <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Feature"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> + ] ; + owl:disjointWith <http://www.opengis.net/ont/geosparql#Geometry> . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:hasFeatureOfInterest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + owl:disjointWith saref:Property , saref:UnitOfMeasure . + +xsd:date a rdfs:Datatype . + +saref:hasProperty a owl:ObjectProperty ; + rdfs:comment "Relation between a feature of interest and its properties."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has property"@en ; + owl:inverseOf saref:isPropertyOf . + +saref:Actuator a owl:Class ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en ; + rdfs:subClassOf saref:Device . + +s4agri:FarmHolding a owl:Class ; + rdfs:comment "A class to decsribe a saref4agri farm holding as subcass of an org:Organization" ; + rdfs:label "Farm holding"@en ; + rdfs:subClassOf <https://schema.org/Organization> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm + ] . + +s4agri:Farmer a owl:Class ; + rdfs:comment "A class to decsribe a saref4agri farmer as subcass of a foaf:Person" ; + rdfs:label "Farmer"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Person> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm + ] . + +xsd:duration a rdfs:Datatype . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "measures property"@en . + +s4agri:PlantGrowthStage + a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The level or stage of growth of the plant." ; + rdfs:label "Plant growth stage"@en ; + rdfs:subClassOf saref:Property . + +<http://www.opengis.net/ont/geosparql#Geometry> + a owl:Class ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> . diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.rdf b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.rdf new file mode 100644 index 0000000000000000000000000000000000000000..fb69e13afd5ff7e4c63f5e76b5c658158ff8f32b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.rdf @@ -0,0 +1,1272 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:s4agri="https://saref.etsi.org/saref4agri#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:saref="https://saref.etsi.org/saref#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4agri#"> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-05-20</dcterms:modified> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-04-15</dcterms:created> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/sarefagri/"/> + <dcterms:title>SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain</dcterms:title> + <vann:preferredNamespacePrefix>s4agri</vann:preferredNamespacePrefix> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf"/> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4agri/v1.1.1/saref4agri#"/> + <dcterms:description>SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511. </dcterms:description> + <dcterms:contributor>Jack Verhoosel, TNO</dcterms:contributor> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/mderoode"/> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain.</dcterms:description> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4agri#</vann:preferredNamespaceUri> + </owl:Ontology> + <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#date"/> + <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#duration"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Animal"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Animal</rdfs:label> + <rdfs:comment xml:lang="en">An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="http://purl.obolibrary.org/obo/TAXRANK_0000000"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/TAXRANK_1000000"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasBirthDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeathDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#AnimalGroup"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isMemberOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#ID"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasID"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Yield"> + <rdfs:label xml:lang="en">Yield</rdfs:label> + <rdfs:isDefinedBy xml:lang="en">The produced amount of food for animals or of agricultural products.</rdfs:isDefinedBy> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://purl.obolibrary.org/obo/TAXRANK_0000000"> + <rdfs:label xml:lang="en">Taxon rank</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Soil"> + <rdfs:label>Soil</rdfs:label> + <rdfs:comment>Upper layer of the earth in which plants grow.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Intake"> + <rdfs:label xml:lang="en">Intake</rdfs:label> + <rdfs:isDefinedBy xml:lang="en">The amount of food or other substance taken into the body of an animal or into the soil.</rdfs:isDefinedBy> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/ssn/System"> + <rdfs:label xml:lang="en">System</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other Systems. (Definition taken from http://www.w3.org/ns/ssn/System)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"> + <rdfs:label xml:lang="en">Temporal entity</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal interval or instant.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WateringSystem"> + <rdfs:label xml:lang="en">Watering system</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/ssn/System"/> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#SpatialObject"> + <rdfs:label xml:lang="en">SpatialObject</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfWithin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfContains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Task"> + <rdfs:label>Task</rdfs:label> + <rdfs:comment>The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Measurement"> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFeatureOfInterest"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Interval"> + <rdfs:label xml:lang="en">Time interval</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal entity with an extent or duration</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/sosa/Platform"> + <rdfs:label xml:lang="en">Platform</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/sosa/"/> + <rdfs:comment xml:lang="en">A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"> + <rdfs:label xml:lang="en">Feature</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/gml"/> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156s4agri:2011, and it is superclass of all feature types.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#MilkingSensor"> + <rdfs:label xml:lang="en">Milking sensor</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Farm"> + <rdfs:label>Farm</rdfs:label> + <rdfs:comment xml:lang="en">A plot of land used for the scope of farming which can contain buildings and parcels.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Parcel"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Building"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WateringValve"> + <rdfs:label xml:lang="en">Watering valve</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Building"> + <rdfs:label>Building</rdfs:label> + <rdfs:comment xml:lang="en">A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#BuildingSpace"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Time"> + <rdfs:label>Time</rdfs:label> + <rdfs:comment>A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#AnimalGroup"> + <rdfs:label>Animal Group</rdfs:label> + <rdfs:comment xml:lang="en">A collection of one or multiple animals.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Intake"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#receives"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Animal"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasMember"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Yield"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#generates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"> + <rdfs:label xml:lang="en">Person</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:isDefinedBy rdf:resource="http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + <rdfs:comment>The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Humidity"> + <rdfs:label xml:lang="en">Humidiy</rdfs:label> + <rdfs:label>Humidity</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"> + <rdfs:label xml:lang="en">Geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Platform"> + <rdfs:label>Platform</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/sosa/Platform"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Instant"> + <rdfs:label xml:lang="en">Instant</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal entity with zero extent or duration</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#FarmHolding"> + <rdfs:label xml:lang="en">Farm holding</rdfs:label> + <rdfs:comment>A class to decsribe a saref4agri farm holding as subcass of an org:Organization</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Farm"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#managesFarm"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://schema.org/Organization"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"> + <rdfs:comment>Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isPropertyOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"> + <rdfs:label>Function</rdfs:label> + <rdfs:comment>The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WeatherStation"> + <rdfs:label xml:lang="en">Weather station</rdfs:label> + <rdfs:comment xml:lang="en">A sensor o system that measure weather conditions.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/ssn/System"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#MovementActivitySensor"> + <rdfs:label xml:lang="en">Movement activity sensor</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Deployment"> + <rdfs:label xml:lang="en">Deployment</rdfs:label> + <rdfs:comment xml:lang="en">The scenario, including temporal and spatial information, in which the systems and devices are installed.</rdfs:comment> + <rdfs:comment xml:lang="en">Deployment</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isDeployedAtSpace"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeploymentPeriod"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/ns/ssn/System"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedSystem"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/ns/sosa/Platform"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedOnPlatform"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/ns/ssn/Deployment"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WeightSensor"> + <rdfs:label xml:lang="en">Weight sensor</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Parcel"> + <rdfs:label>Parcel</rdfs:label> + <rdfs:comment xml:lang="en">An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Crop"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Thermometer"> + <rdfs:label xml:lang="en">Thermometer</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"> + <rdfs:label xml:lang="en">Feature of interest</rdfs:label> + <rdfs:comment rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Farmer"> + <rdfs:label xml:lang="en">Farmer</rdfs:label> + <rdfs:comment>A class to decsribe a saref4agri farmer as subcass of a foaf:Person</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Farm"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#managesFarm"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#SoilTensiometer"> + <rdfs:label xml:lang="en">Soil tensiometer</rdfs:label> + <rdfs:comment xml:lang="en">A sensor that measures the soil moisture.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#BuildingSpace"> + <rdfs:label xml:lang="en">Building space</rdfs:label> + <rdfs:comment xml:lang="en">An entity used to define the physical spaces of the building. A building space contains devices or building objects.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Pluviometer"> + <rdfs:label xml:lang="en">Pluviometer</rdfs:label> + <rdfs:comment xml:lang="en">A sensor that measures the rain fall.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#ID"> + <rdfs:label>ID</rdfs:label> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/ssn/Deployment"> + <rdfs:label xml:lang="en">Deployment</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Temperature"> + <rdfs:label>Temperature</rdfs:label> + <rdfs:label xml:lang="en">Temperature</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WateringGun"> + <rdfs:label xml:lang="en">Watering gun</rdfs:label> + <rdfs:comment xml:lang="en">An actuator to irrigate an space.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Actuator"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"> + <rdfs:label>State</rdfs:label> + <rdfs:comment>The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/ssn/System"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Crop"> + <rdfs:label>Crop</rdfs:label> + <rdfs:comment xml:lang="en">A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasPlantDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasHarvestDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Intake"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#receives"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Yield"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#generates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/TAXRANK_0000000"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/TAXRANK_1000000"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FeatureOfInterest"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"> + <rdfs:label>Command</rdfs:label> + <rdfs:comment>A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#State"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"> + <rdfs:label xml:lang="en">Agent</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://xmlns.com/foaf/0.1/member"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://schema.org/Organization"> + <rdfs:label xml:lang="en">Organization</rdfs:label> + <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#EatingActivitySensor"> + <rdfs:label xml:lang="en">Eating activity sensor</rdfs:label> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"> + <rdfs:label xml:lang="en">Point</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment>A point, typically described using a coordinate system relative to Earth, such as WGS84.</rdfs:comment> + <rdfs:comment> 
 +Uniquely identified by lat/long/alt. i.e.
 +
 +spaciallyIntersects(P1, P2) s4agri:- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),
 + lat(P2, LAT), long(P2, LONG), alt(P2, ALT).
 +
 +sameThing(P1, P2) s4agri:- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).
 + </rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeploymentPeriod"> + <rdfs:label>has deployment period</rdfs:label> + <rdfs:comment xml:lang="en">has deployment period</rdfs:comment> + <rdfs:comment xml:lang="en">Relation to indicate the temporal duration or period of a deployment.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#generates"> + <rdfs:label xml:lang="en">generates</rdfs:label> + <rdfs:comment>A relation to represent the yield generated by a Crop.</rdfs:comment> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProperty"/> + </rdfs:subPropertyOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:comment>The relation between something and the point, 
 + or other geometrical thing in space, where it is. For example, the realtionship between
 + a radio tower and a Point with a given lat and long.
 + Or a relationship between a park and its outline as a closed arc of points, or a road and
 + its location as a arc (a sequence of points).
 + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
 + an accuracy appropriate for the size of the object and uses such as mapping .
 + </rdfs:comment> + <rdfs:subPropertyOf> + <owl:AnnotationProperty rdf:about="http://xmlns.com/foaf/0.1/based_near"/> + </rdfs:subPropertyOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/TAXRANK_1000000"> + <rdfs:label xml:lang="en">has taxon rank</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#managesFarm"> + <rdfs:label xml:lang="en">manages farm</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isContainedIn"> + <rdfs:label xml:lang="en">is contained in</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"> + <rdfs:label xml:lang="en">has geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql#"/> + <rdfs:comment xml:lang="en">A spatial representation for a given feature.</rdfs:comment> + <rdfs:range rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + <rdfs:domain rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProperty"> + <rdfs:label xml:lang="en">has property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a feature of interest and its properties.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isPropertyOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/hasSubSystem"> + <rdfs:label xml:lang="en">has subsystem</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfContains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/spec/geosparql/1.0"/> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*</rdfs:comment> + <rdfs:range rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <rdfs:domain rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedSystem"> + <rdfs:label xml:lang="en">deployed system</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">Relation between a deployment and the system deployed.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/hasDeployment"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/hasDeployment"> + <rdfs:label xml:lang="en">has deployment</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://xmlns.com/foaf/0.1/member"> + <rdfs:label xml:lang="en">member</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isMemberOf"> + <rdfs:label>is member of</rdfs:label> + <rdfs:comment>A relation to express that an animal can be part of groups.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfWithin"> + <rdfs:label xml:lang="en">within</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/spec/geosparql/1.0"/> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***</rdfs:comment> + <rdfs:range rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <rdfs:domain rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocatedIn"> + <rdfs:label>is located in</rdfs:label> + <rdfs:comment>A relation to express the physical location of a saref4agri entity (e.g., an animal)</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocationOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4agri#isContainedIn"/> + <rdfs:subPropertyOf rdf:resource="http://www.opengis.net/ont/geosparql#sfContains"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"> + <rdfs:label>has function</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship identifying the type of function of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#receives"> + <rdfs:label>receives</rdfs:label> + <rdfs:comment>A relation to represent the intake/consumption of certain substances in a Crop.</rdfs:comment> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref#hasProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isPropertyOf"> + <rdfs:label xml:lang="en">is property of</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a property and a feature of interest in which such property appears.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measurementMadeBy"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isDeployedAtSpace"> + <rdfs:label>is deployed at space</rdfs:label> + <rdfs:comment xml:lang="en">is deployed at space</rdfs:comment> + <rdfs:comment xml:lang="en">Relation to indicate the geographical componet of a deployment.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocationOf"> + <rdfs:label>is location of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/sosa/isHostedBy"> + <rdfs:label xml:lang="en">is hosted by</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/sosa/"/> + <rdfs:comment xml:lang="en">Relation between a system and its hosting platform.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#controlsProperty"> + <rdfs:label xml:lang="en">controls property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedOnPlatform"> + <rdfs:label xml:lang="en">deployed on platform</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">Relation between a deployment and the platform(s) involved in the deployment.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/inDeployment"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"> + <rdfs:label xml:lang="en">is controlled by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"> + <rdfs:label xml:lang="en">is measured by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measurementMadeBy"> + <rdfs:label xml:lang="en">measurement made by</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a measurement and the device that made it.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFeatureOfInterest"> + <rdfs:label xml:lang="en">has feature of interest</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a measurement and the feature of interest being measured.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isFeatureOfInterestOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"> + <rdfs:label xml:lang="en">has state</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"> + <rdfs:label>is accomplished by</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship indentifying the task accomplished by a certain entity (e.g., a device)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasID"> + <rdfs:label xml:lang="en">has id</rdfs:label> + <rdfs:comment>A relation to express the unique identifier of an animal.</rdfs:comment> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4agri#ID"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"> + <rdfs:label>acts upon</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between a command and a state</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isFeatureOfInterestOf"> + <rdfs:label xml:lang="en">is feature of interest of</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation betwwen a feature of interest and the measurments that are about it.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasReceived"> + <rdfs:label>has received</rdfs:label> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4agri#receives"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"> + <rdfs:label>accomplishes</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between a certain entity (e.g., a device) and the task it accomplishes</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/inDeployment"> + <rdfs:label xml:lang="en">in deployment</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">Relation between a platform and the deployment(s) that takes place in the platform.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"> + <rdfs:label>is command of</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between a command and a function.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasMember"> + <rdfs:label>has member</rdfs:label> + <rdfs:comment>A relation to represent the members of an AnimalGroup.</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4agri#isMemberOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/sosa/hosts"> + <rdfs:label xml:lang="en">host</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/sosa/"/> + <rdfs:comment xml:lang="en">Relation between a platform and the systems it hosts.</rdfs:comment> + <owl:inverseOf rdf:resource="http://www.w3.org/ns/sosa/isHostedBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"> + <rdfs:label>has command</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between an entity (such as a function) and a command</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#isCommandOf"/> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeathDate"> + <rdfs:label>has death date</rdfs:label> + <rdfs:comment>A relation to express the death date of an animal.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasManufacturer"> + <rdfs:label>has manufacturer</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship identifying the manufacturer of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasPlantDate"> + <rdfs:label>has plant date</rdfs:label> + <rdfs:comment>A relation to express the day the crop is planted.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasName"> + <rdfs:label xml:lang="en">has name</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasHarvestDate"> + <rdfs:label>has harvest date</rdfs:label> + <rdfs:comment>A relation to express the day the crop is harvested.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasModel"> + <rdfs:label>has model</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship identifying the model of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"> + <rdfs:label xml:lang="en">has description</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship providing a description of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasBirthDate"> + <rdfs:label>has birth date</rdfs:label> + <rdfs:comment>A relation to express the birth date of an animal.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"> + <rdfs:label>has name</rdfs:label> + <rdfs:label>A relation to express the name of an entity (e.g.,animal).</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <saref:Humidity rdf:about="https://saref.etsi.org/saref4agri#AmbientHumidity"> + <rdfs:comment>The amount of water vapour in the air.</rdfs:comment> + <rdfs:label xml:lang="en">Ambient humidity</rdfs:label> + <rdfs:label xml:lang="en">Ambient huidity</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Humidity"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Humidity> + <saref:Temperature rdf:about="https://saref.etsi.org/saref4agri#AirTemperature"> + <rdfs:label xml:lang="en">Air temperature</rdfs:label> + <rdfs:comment>The degree or intensity of heat present in the air.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Temperature"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Temperature> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius"> + <rdfs:label xml:lang="en">degree Celsius</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/millibar"> + <rdfs:label xml:lang="en">millibar</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#long"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>longitude</rdfs:label> + <rdfs:comment>The WGS84 longitude of a SpatialThing (decimal degrees).</rdfs:comment> + </owl:AnnotationProperty> + <saref:Temperature rdf:about="https://saref.etsi.org/saref4agri#SoilTemperature"> + <rdfs:label xml:lang="en">Soil temperature</rdfs:label> + <rdfs:comment>The degree or intensity of heat present in the soil.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Temperature"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Temperature> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#PlantGrowthStage"> + <rdfs:label xml:lang="en">Plant growth stage</rdfs:label> + <rdfs:comment>The level or stage of growth of the plant.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#prefLabel"/> + <saref:UnitOfMeasure rdf:about="http://dbpedia.org/resource/DBM"> + <rdfs:label xml:lang="en">decibel-milliwatts</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#SoilMoisture"> + <rdfs:comment>The amount of water or humidity contained in the soil.</rdfs:comment> + <rdfs:label xml:lang="en">Soil moisture</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre"> + <rdfs:label xml:lang="en">millimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#alt"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>altitude</rdfs:label> + <rdfs:comment>The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid).</rdfs:comment> + </owl:AnnotationProperty> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#IrrigationWater"> + <rdfs:label xml:lang="en">Irrigation water</rdfs:label> + <rdfs:comment>The amount of water falling in the soil by irrigation methods.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#definition"/> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#Precipitation"> + <rdfs:label xml:lang="en">Precipitation</rdfs:label> + <rdfs:comment>The amount of water falling in the soil by natural process (e.g. rain).</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#hadPrimarySource"/> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt"> + <rdfs:label xml:lang="en">millivolt</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#lat"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>latitude</rdfs:label> + <rdfs:comment>The WGS84 latitude of a SpatialThing (decimal degrees).</rdfs:comment> + </owl:AnnotationProperty> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.ttl b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.ttl new file mode 100644 index 0000000000000000000000000000000000000000..69aad4a320e8aab0318caa618e53df48c58c5a48 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/latest/saref4agri.ttl @@ -0,0 +1,1374 @@ +@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#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix s4agri: <https://saref.etsi.org/saref4agri#> . + +<https://saref.etsi.org/saref4agri#> a owl:Ontology ; + dcterms:title "SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain"^^xsd:string ; + dcterms:created "2019-04-15"^^xsd:date ; + dcterms:modified "2019-05-20"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4agri/v1.1.1/saref4agri#> ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <https://www.linkedin.com/in/mderoode> ; + dcterms:contributor "Jack Verhoosel, TNO"^^xsd:string ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4agri#" ; + vann:preferredNamespacePrefix "s4agri" ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/sarefagri/> ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:description "SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511. "^^xsd:string ; + dcterms:description "This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain."@en ; + dcterms:publisher <https://www.etsi.org/> . +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://www.w3.org/2003/01/geo/wgs84_pos#alt + +<http://www.w3.org/2003/01/geo/wgs84_pos#alt> a owl:AnnotationProperty ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:label "altitude" ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#lat + +<http://www.w3.org/2003/01/geo/wgs84_pos#lat> a owl:AnnotationProperty ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:label "latitude" ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> a owl:AnnotationProperty ; + rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/based_near> . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#long + +<http://www.w3.org/2003/01/geo/wgs84_pos#long> a owl:AnnotationProperty ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:label "longitude" ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> . +# +# http://www.w3.org/2004/02/skos/core#definition + +<http://www.w3.org/2004/02/skos/core#definition> a owl:AnnotationProperty . +# +# http://www.w3.org/2004/02/skos/core#prefLabel + +<http://www.w3.org/2004/02/skos/core#prefLabel> a owl:AnnotationProperty . +# +# http://www.w3.org/ns/prov#hadPrimarySource + +<http://www.w3.org/ns/prov#hadPrimarySource> a owl:AnnotationProperty . +# +# http://xmlns.com/foaf/0.1/based_near + +<http://xmlns.com/foaf/0.1/based_near> a owl:AnnotationProperty . +# +# +# +# ################################################################# +# # +# # Datatypes +# # +# ################################################################# +# +# +# http://www.w3.org/2001/XMLSchema#date + +xsd:date a rdfs:Datatype . +# +# http://www.w3.org/2001/XMLSchema#duration + +xsd:duration a rdfs:Datatype . +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# http://purl.obolibrary.org/obo/TAXRANK_1000000 + +<http://purl.obolibrary.org/obo/TAXRANK_1000000> a owl:ObjectProperty ; + rdfs:label "has taxon rank"@en . +# +# http://www.opengis.net/ont/geosparql#hasGeometry + +<http://www.opengis.net/ont/geosparql#hasGeometry> a owl:ObjectProperty ; + rdfs:domain <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ; + rdfs:label "has geometry"@en . +# +# http://www.opengis.net/ont/geosparql#sfContains + +<http://www.opengis.net/ont/geosparql#sfContains> a owl:ObjectProperty ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> , <http://www.opengis.net/spec/geosparql/1.0> ; + rdfs:label "contains"@en . +# +# http://www.opengis.net/ont/geosparql#sfWithin + +<http://www.opengis.net/ont/geosparql#sfWithin> a owl:ObjectProperty ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> , <http://www.opengis.net/spec/geosparql/1.0> ; + rdfs:label "within"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> a owl:ObjectProperty . +# +# http://www.w3.org/ns/sosa/hosts + +<http://www.w3.org/ns/sosa/hosts> a owl:ObjectProperty ; + owl:inverseOf <http://www.w3.org/ns/sosa/isHostedBy> ; + rdfs:comment "Relation between a platform and the systems it hosts."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "host"@en . +# +# http://www.w3.org/ns/sosa/isHostedBy + +<http://www.w3.org/ns/sosa/isHostedBy> a owl:ObjectProperty ; + rdfs:comment "Relation between a system and its hosting platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "is hosted by"@en . +# +# http://www.w3.org/ns/ssn/deployedOnPlatform + +<http://www.w3.org/ns/ssn/deployedOnPlatform> a owl:ObjectProperty ; + owl:inverseOf <http://www.w3.org/ns/ssn/inDeployment> ; + rdfs:comment "Relation between a deployment and the platform(s) involved in the deployment."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed on platform"@en . +# +# http://www.w3.org/ns/ssn/deployedSystem + +<http://www.w3.org/ns/ssn/deployedSystem> a owl:ObjectProperty ; + owl:inverseOf <http://www.w3.org/ns/ssn/hasDeployment> ; + rdfs:comment "Relation between a deployment and the system deployed."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed system"@en . +# +# http://www.w3.org/ns/ssn/hasDeployment + +<http://www.w3.org/ns/ssn/hasDeployment> a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has deployment"@en . +# +# http://www.w3.org/ns/ssn/hasSubSystem + +<http://www.w3.org/ns/ssn/hasSubSystem> a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has subsystem"@en . +# +# http://www.w3.org/ns/ssn/inDeployment + +<http://www.w3.org/ns/ssn/inDeployment> a owl:ObjectProperty ; + rdfs:comment "Relation between a platform and the deployment(s) that takes place in the platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "in deployment"@en . +# +# http://xmlns.com/foaf/0.1/member + +<http://xmlns.com/foaf/0.1/member> a owl:ObjectProperty ; + rdfs:label "member"@en . +# +# https://saref.etsi.org/saref4agri#contains + +s4agri:contains a owl:ObjectProperty ; + rdfs:subPropertyOf <http://www.opengis.net/ont/geosparql#sfContains> ; + owl:inverseOf s4agri:isContainedIn . +# +# https://saref.etsi.org/saref4agri#generates + +s4agri:generates a owl:ObjectProperty ; + rdfs:subPropertyOf saref:hasProperty ; + rdfs:comment "A relation to represent the yield generated by a Crop." ; + rdfs:label "generates"@en . +# +# https://saref.etsi.org/saref4agri#hasDeploymentPeriod + +s4agri:hasDeploymentPeriod a owl:ObjectProperty ; + rdfs:comment "Relation to indicate the temporal duration or period of a deployment."@en , "has deployment period"@en ; + rdfs:label "has deployment period"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasID + +s4agri:hasID a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty ; + rdfs:range s4agri:ID ; + rdfs:comment "A relation to express the unique identifier of an animal." ; + rdfs:label "has id"@en . +# +# https://saref.etsi.org/saref4agri#hasMember + +s4agri:hasMember a owl:ObjectProperty ; + owl:inverseOf s4agri:isMemberOf ; + rdfs:comment "A relation to represent the members of an AnimalGroup." ; + rdfs:label "has member"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasReceived + +s4agri:hasReceived a owl:ObjectProperty ; + owl:inverseOf s4agri:receives ; + rdfs:label "has received"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isContainedIn + +s4agri:isContainedIn a owl:ObjectProperty ; + rdfs:label "is contained in"@en . +# +# https://saref.etsi.org/saref4agri#isDeployedAtSpace + +s4agri:isDeployedAtSpace a owl:ObjectProperty ; + rdfs:comment "Relation to indicate the geographical componet of a deployment."@en , "is deployed at space"@en ; + rdfs:label "is deployed at space"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isLocatedIn + +s4agri:isLocatedIn a owl:ObjectProperty ; + owl:inverseOf s4agri:isLocationOf ; + rdfs:comment "A relation to express the physical location of a saref4agri entity (e.g., an animal)" ; + rdfs:label "is located in"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isLocationOf + +s4agri:isLocationOf a owl:ObjectProperty ; + rdfs:label "is location of"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isMemberOf + +s4agri:isMemberOf a owl:ObjectProperty ; + rdfs:comment "A relation to express that an animal can be part of groups." ; + rdfs:label "is member of"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#managesFarm + +s4agri:managesFarm a owl:ObjectProperty ; + rdfs:label "manages farm"@en . +# +# https://saref.etsi.org/saref4agri#receives + +s4agri:receives a owl:ObjectProperty ; + rdfs:subPropertyOf saref:hasProperty ; + rdfs:comment "A relation to represent the intake/consumption of certain substances in a Crop." ; + rdfs:label "receives"^^xsd:string . +# +# https://w3id.org/saref#accomplishes + +saref:accomplishes a owl:ObjectProperty ; + owl:inverseOf saref:isAccomplishedBy ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "accomplishes"^^xsd:string . +# +# https://w3id.org/saref#actsUpon + +saref:actsUpon a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "acts upon"^^xsd:string . +# +# https://w3id.org/saref#controlsProperty + +saref:controlsProperty a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "controls property"@en . +# +# https://w3id.org/saref#hasCommand + +saref:hasCommand a owl:ObjectProperty ; + owl:inverseOf saref:isCommandOf ; + rdfs:comment "A relationship between an entity (such as a function) and a command"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has command"^^xsd:string . +# +# https://w3id.org/saref#hasFeatureOfInterest + +saref:hasFeatureOfInterest a owl:ObjectProperty ; + owl:inverseOf saref:isFeatureOfInterestOf ; + rdfs:comment "Relation between a measurement and the feature of interest being measured."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has feature of interest"@en . +# +# https://w3id.org/saref#hasFunction + +saref:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has function"^^xsd:string . +# +# https://w3id.org/saref#hasProperty + +saref:hasProperty a owl:ObjectProperty ; + owl:inverseOf saref:isPropertyOf ; + rdfs:comment "Relation between a feature of interest and its properties."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has property"@en . +# +# https://w3id.org/saref#hasState + +saref:hasState a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has state"@en . +# +# https://w3id.org/saref#isAccomplishedBy + +saref:isAccomplishedBy a owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "is accomplished by"^^xsd:string . +# +# https://w3id.org/saref#isCommandOf + +saref:isCommandOf a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function."^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "is command of"^^xsd:string . +# +# https://w3id.org/saref#isControlledByDevice + +saref:isControlledByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is controlled by device"@en . +# +# https://w3id.org/saref#isFeatureOfInterestOf + +saref:isFeatureOfInterestOf a owl:ObjectProperty ; + rdfs:comment "Relation betwwen a feature of interest and the measurments that are about it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is feature of interest of"@en . +# +# https://w3id.org/saref#isMeasuredByDevice + +saref:isMeasuredByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured by device"@en . +# +# https://w3id.org/saref#isMeasuredIn + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured in"@en . +# +# https://w3id.org/saref#isPropertyOf + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:comment "Relation between a property and a feature of interest in which such property appears."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is property of"@en . +# +# https://w3id.org/saref#makesMeasurement + +saref:makesMeasurement a owl:ObjectProperty ; + owl:inverseOf saref:measurementMadeBy ; + rdfs:isDefinedBy saref: ; + rdfs:label "makes measurement"@en . +# +# https://w3id.org/saref#measurementMadeBy + +saref:measurementMadeBy a owl:ObjectProperty ; + rdfs:comment "Relation between a measurement and the device that made it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "measurement made by"@en . +# +# https://w3id.org/saref#measuresProperty + +saref:measuresProperty a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "measures property"@en . +# +# https://w3id.org/saref#relatesToMeasurement + +saref:relatesToMeasurement a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to measurement"@en . +# +# https://w3id.org/saref#relatesToProperty + +saref:relatesToProperty a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to property"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4agri#hasBirthDate + +s4agri:hasBirthDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the birth date of an animal." ; + rdfs:label "has birth date"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasDeathDate + +s4agri:hasDeathDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the death date of an animal." ; + rdfs:label "has death date"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasHarvestDate + +s4agri:hasHarvestDate a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the day the crop is harvested." ; + rdfs:label "has harvest date" . +# +# https://saref.etsi.org/saref4agri#hasName + +s4agri:hasName a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:label "A relation to express the name of an entity (e.g.,animal)." , "has name" . +# +# https://saref.etsi.org/saref4agri#hasPlantDate + +s4agri:hasPlantDate a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the day the crop is planted." ; + rdfs:label "has plant date" . +# +# https://w3id.org/saref#hasDescription + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . +# +# https://w3id.org/saref#hasManufacturer + +saref:hasManufacturer a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer"^^xsd:string . +# +# https://w3id.org/saref#hasModel + +saref:hasModel a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has model"^^xsd:string . +# +# https://w3id.org/saref#hasName + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . +# +# https://w3id.org/saref#hasTimestamp + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has timestamp"@en . +# +# https://w3id.org/saref#hasValue + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# http://purl.obolibrary.org/obo/TAXRANK_0000000 + +<http://purl.obolibrary.org/obo/TAXRANK_0000000> a owl:Class ; + rdfs:label "Taxon rank"@en . +# +# http://www.opengis.net/ont/geosparql#Feature + +<http://www.opengis.net/ont/geosparql#Feature> a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> , _:genid1 . + +_:genid1 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> . + +<http://www.opengis.net/ont/geosparql#Feature> owl:disjointWith <http://www.opengis.net/ont/geosparql#Geometry> ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156s4agri:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> , <http://www.opengis.net/ont/gml> ; + rdfs:label "Feature"@en . +# +# http://www.opengis.net/ont/geosparql#Geometry + +<http://www.opengis.net/ont/geosparql#Geometry> a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en . +# +# http://www.opengis.net/ont/geosparql#SpatialObject + +<http://www.opengis.net/ont/geosparql#SpatialObject> a owl:Class ; + rdfs:subClassOf _:genid2 . + +_:genid2 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:subClassOf _:genid3 . + +_:genid3 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfContains> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:subClassOf _:genid4 . + +_:genid4 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfWithin> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:subClassOf _:genid5 . + +_:genid5 a owl:Restriction ; + owl:onProperty <http://www.w3.org/2003/01/geo/wgs84_pos#location> ; + owl:allValuesFrom <http://www.w3.org/2003/01/geo/wgs84_pos#Point> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#Point + +<http://www.w3.org/2003/01/geo/wgs84_pos#Point> a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> ; + rdfs:comment """ +Uniquely identified by lat/long/alt. i.e. + +spaciallyIntersects(P1, P2) s4agri:- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), + lat(P2, LAT), long(P2, LONG), alt(P2, ALT). + +sameThing(P1, P2) s4agri:- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2). + """ , "A point, typically described using a coordinate system relative to Earth, such as WGS84." ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "Point"@en . +# +# http://www.w3.org/2006/time#Instant + +<http://www.w3.org/2006/time#Instant> a owl:Class ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Instant"@en . +# +# http://www.w3.org/2006/time#Interval + +<http://www.w3.org/2006/time#Interval> a owl:Class ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; + rdfs:comment "A temporal entity with an extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Time interval"@en . +# +# http://www.w3.org/2006/time#TemporalEntity + +<http://www.w3.org/2006/time#TemporalEntity> a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Temporal entity"@en . +# +# http://www.w3.org/ns/sosa/Platform + +<http://www.w3.org/ns/sosa/Platform> a owl:Class ; + rdfs:comment "A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "Platform"@en . +# +# http://www.w3.org/ns/ssn/Deployment + +<http://www.w3.org/ns/ssn/Deployment> a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "Deployment"@en . +# +# http://www.w3.org/ns/ssn/System + +<http://www.w3.org/ns/ssn/System> a owl:Class ; + 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. (Definition taken from http://www.w3.org/ns/ssn/System)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "System"@en . +# +# http://xmlns.com/foaf/0.1/Agent + +<http://xmlns.com/foaf/0.1/Agent> a owl:Class ; + rdfs:subClassOf _:genid6 . + +_:genid6 a owl:Restriction ; + owl:onProperty <http://xmlns.com/foaf/0.1/member> ; + owl:someValuesFrom <http://xmlns.com/foaf/0.1/Agent> . + +<http://xmlns.com/foaf/0.1/Agent> rdfs:label "Agent"@en . +# +# http://xmlns.com/foaf/0.1/Person + +<http://xmlns.com/foaf/0.1/Person> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:label "Person"@en . +# +# https://schema.org/Organization + +<https://schema.org/Organization> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:label "Organization"@en . +# +# https://saref.etsi.org/saref4agri#AirTemperature + +s4agri:AirTemperature a owl:Class ; + rdfs:subClassOf saref:Temperature . +# +# https://saref.etsi.org/saref4agri#AmbientHumidity + +s4agri:AmbientHumidity a owl:Class ; + rdfs:subClassOf saref:Humidity . +# +# https://saref.etsi.org/saref4agri#Animal + +s4agri:Animal a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , _:genid7 . + +_:genid7 a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> . + +s4agri:Animal rdfs:subClassOf _:genid8 . + +_:genid8 a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> . + +s4agri:Animal rdfs:subClassOf _:genid9 . + +_:genid9 a owl:Restriction ; + owl:onProperty s4agri:isMemberOf ; + owl:someValuesFrom s4agri:AnimalGroup . + +s4agri:Animal rdfs:subClassOf _:genid10 . + +_:genid10 a owl:Restriction ; + owl:onProperty s4agri:hasID ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4agri:ID . + +s4agri:Animal rdfs:subClassOf _:genid11 . + +_:genid11 a owl:Restriction ; + owl:onProperty s4agri:hasBirthDate ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime . + +s4agri:Animal rdfs:subClassOf _:genid12 . + +_:genid12 a owl:Restriction ; + owl:onProperty s4agri:hasDeathDate ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime . + +s4agri:Animal rdfs:subClassOf _:genid13 . + +_:genid13 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string . + +s4agri:Animal rdfs:comment "An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli."@en ; + rdfs:label "Animal"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#AnimalGroup + +s4agri:AnimalGroup a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , _:genid14 . + +_:genid14 a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield . + +s4agri:AnimalGroup rdfs:subClassOf _:genid15 . + +_:genid15 a owl:Restriction ; + owl:onProperty s4agri:hasMember ; + owl:someValuesFrom s4agri:Animal . + +s4agri:AnimalGroup rdfs:subClassOf _:genid16 . + +_:genid16 a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> . + +s4agri:AnimalGroup rdfs:subClassOf _:genid17 . + +_:genid17 a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake . + +s4agri:AnimalGroup rdfs:subClassOf _:genid18 . + +_:genid18 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string . + +s4agri:AnimalGroup rdfs:comment "A collection of one or multiple animals."@en ; + rdfs:label "Animal Group"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Building + +s4agri:Building a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , _:genid19 . + +_:genid19 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:BuildingSpace . + +s4agri:Building rdfs:subClassOf _:genid20 . + +_:genid20 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + +s4agri:Building rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#BuildingSpace + +s4agri:BuildingSpace a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en . +# +# https://saref.etsi.org/saref4agri#Crop + +s4agri:Crop a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , _:genid21 . + +_:genid21 a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> . + +s4agri:Crop rdfs:subClassOf _:genid22 . + +_:genid22 a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield . + +s4agri:Crop rdfs:subClassOf _:genid23 . + +_:genid23 a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake . + +s4agri:Crop rdfs:subClassOf _:genid24 . + +_:genid24 a owl:Restriction ; + owl:onProperty s4agri:hasHarvestDate ; + owl:someValuesFrom xsd:dateTime . + +s4agri:Crop rdfs:subClassOf _:genid25 . + +_:genid25 a owl:Restriction ; + owl:onProperty s4agri:hasPlantDate ; + owl:someValuesFrom xsd:dateTime . + +s4agri:Crop rdfs:comment "A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable."@en ; + rdfs:label "Crop"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Deployment + +s4agri:Deployment a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/Deployment> , _:genid26 . + +_:genid26 a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedOnPlatform> ; + owl:someValuesFrom <http://www.w3.org/ns/sosa/Platform> . + +s4agri:Deployment rdfs:subClassOf _:genid27 . + +_:genid27 a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedSystem> ; + owl:someValuesFrom <http://www.w3.org/ns/ssn/System> . + +s4agri:Deployment rdfs:subClassOf _:genid28 . + +_:genid28 a owl:Restriction ; + owl:onProperty s4agri:hasDeploymentPeriod ; + owl:someValuesFrom <http://www.w3.org/2006/time#TemporalEntity> . + +s4agri:Deployment rdfs:subClassOf _:genid29 . + +_:genid29 a owl:Restriction ; + owl:onProperty s4agri:isDeployedAtSpace ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> . + +s4agri:Deployment rdfs:comment "Deployment"@en , "The scenario, including temporal and spatial information, in which the systems and devices are installed."@en ; + rdfs:label "Deployment"@en . +# +# https://saref.etsi.org/saref4agri#EatingActivitySensor + +s4agri:EatingActivitySensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Eating activity sensor"@en . +# +# https://saref.etsi.org/saref4agri#Farm + +s4agri:Farm a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , _:genid30 . + +_:genid30 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Building . + +s4agri:Farm rdfs:subClassOf _:genid31 . + +_:genid31 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Parcel . + +s4agri:Farm rdfs:subClassOf _:genid32 . + +_:genid32 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + +s4agri:Farm rdfs:comment "A plot of land used for the scope of farming which can contain buildings and parcels."@en ; + rdfs:label "Farm"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#FarmHolding + +s4agri:FarmHolding a owl:Class ; + rdfs:subClassOf <https://schema.org/Organization> , _:genid33 . + +_:genid33 a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm . + +s4agri:FarmHolding rdfs:subClassOf _:genid34 . + +_:genid34 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:allValuesFrom xsd:string . + +s4agri:FarmHolding rdfs:comment "A class to decsribe a saref4agri farm holding as subcass of an org:Organization" ; + rdfs:label "Farm holding"@en . +# +# https://saref.etsi.org/saref4agri#Farmer + +s4agri:Farmer a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Person> , _:genid35 . + +_:genid35 a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm . + +s4agri:Farmer rdfs:subClassOf _:genid36 . + +_:genid36 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:allValuesFrom xsd:string . + +s4agri:Farmer rdfs:comment "A class to decsribe a saref4agri farmer as subcass of a foaf:Person" ; + rdfs:label "Farmer"@en . +# +# https://saref.etsi.org/saref4agri#ID + +s4agri:ID a owl:Class ; + rdfs:label "ID"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Intake + +s4agri:Intake a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:isDefinedBy "The amount of food or other substance taken into the body of an animal or into the soil."@en ; + rdfs:label "Intake"@en . +# +# https://saref.etsi.org/saref4agri#IrrigationWater + +s4agri:IrrigationWater a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#MilkingSensor + +s4agri:MilkingSensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Milking sensor"@en . +# +# https://saref.etsi.org/saref4agri#MovementActivitySensor + +s4agri:MovementActivitySensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Movement activity sensor"@en . +# +# https://saref.etsi.org/saref4agri#Parcel + +s4agri:Parcel a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , _:genid37 . + +_:genid37 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Crop . + +s4agri:Parcel rdfs:subClassOf _:genid38 . + +_:genid38 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string . + +s4agri:Parcel rdfs:comment "An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items."@en ; + rdfs:label "Parcel"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#PlantGrowthStage + +s4agri:PlantGrowthStage a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#Platform + +s4agri:Platform a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/sosa/Platform> ; + rdfs:label "Platform"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Pluviometer + +s4agri:Pluviometer a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:comment "A sensor that measures the rain fall."@en ; + rdfs:label "Pluviometer"@en . +# +# https://saref.etsi.org/saref4agri#Precipitation + +s4agri:Precipitation a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#Soil + +s4agri:Soil a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:comment "Upper layer of the earth in which plants grow." ; + rdfs:label "Soil" . +# +# https://saref.etsi.org/saref4agri#SoilMoisture + +s4agri:SoilMoisture a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#SoilTemperature + +s4agri:SoilTemperature a owl:Class ; + rdfs:subClassOf saref:Temperature . +# +# https://saref.etsi.org/saref4agri#SoilTensiometer + +s4agri:SoilTensiometer a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:comment "A sensor that measures the soil moisture."@en ; + rdfs:label "Soil tensiometer"@en . +# +# https://saref.etsi.org/saref4agri#Thermometer + +s4agri:Thermometer a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Thermometer"@en . +# +# https://saref.etsi.org/saref4agri#WateringGun + +s4agri:WateringGun a owl:Class ; + rdfs:subClassOf saref:Actuator ; + rdfs:comment "An actuator to irrigate an space."@en ; + rdfs:label "Watering gun"@en . +# +# https://saref.etsi.org/saref4agri#WateringSystem + +s4agri:WateringSystem a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ; + rdfs:label "Watering system"@en . +# +# https://saref.etsi.org/saref4agri#WateringValve + +s4agri:WateringValve a owl:Class ; + rdfs:subClassOf saref:Actuator ; + rdfs:label "Watering valve"@en . +# +# https://saref.etsi.org/saref4agri#WeatherStation + +s4agri:WeatherStation a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> , saref:Sensor ; + rdfs:comment "A sensor o system that measure weather conditions."@en ; + rdfs:label "Weather station"@en . +# +# https://saref.etsi.org/saref4agri#WeightSensor + +s4agri:WeightSensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Weight sensor"@en . +# +# https://saref.etsi.org/saref4agri#Yield + +s4agri:Yield a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:isDefinedBy "The produced amount of food for animals or of agricultural products."@en ; + rdfs:label "Yield"@en . +# +# https://w3id.org/saref#Actuator + +saref:Actuator a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en . +# +# https://w3id.org/saref#Command + +saref:Command a owl:Class ; + rdfs:subClassOf _:genid39 . + +_:genid39 a owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:State . + +saref:Command rdfs:subClassOf _:genid40 . + +_:genid40 a owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function . + +saref:Command rdfs:subClassOf _:genid41 . + +_:genid41 a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + +saref:Command rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Command"^^xsd:string . +# +# https://w3id.org/saref#Device + +saref:Device a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en . +# +# https://w3id.org/saref#FeatureOfInterest + +saref:FeatureOfInterest a owl:Class ; + rdfs:subClassOf _:genid42 . + +_:genid42 a owl:Restriction ; + owl:onProperty saref:hasProperty ; + owl:allValuesFrom saref:Property . + +saref:FeatureOfInterest rdfs:subClassOf _:genid43 . + +_:genid43 a owl:Restriction ; + owl:onProperty saref:isFeatureOfInterestOf ; + owl:allValuesFrom saref:Measurement . + +saref:FeatureOfInterest rdfs:comment saref: ; + rdfs:label "Feature of interest"@en . +# +# https://w3id.org/saref#Function + +saref:Function a owl:Class ; + rdfs:subClassOf _:genid44 . + +_:genid44 a owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command . + +saref:Function rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. "^^xsd:string ; + rdfs:label "Function"^^xsd:string . +# +# https://w3id.org/saref#Humidity + +saref:Humidity a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"^^xsd:string ; + rdfs:label "Humidity"^^xsd:string , "Humidiy"@en . +# +# https://w3id.org/saref#Measurement + +saref:Measurement a owl:Class ; + rdfs:subClassOf _:genid45 . + +_:genid45 a owl:Restriction ; + owl:onProperty saref:hasFeatureOfInterest ; + owl:allValuesFrom saref:FeatureOfInterest . + +saref:Measurement rdfs:subClassOf _:genid46 . + +_:genid46 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid47 . + +_:genid47 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property . + +saref:Measurement rdfs:subClassOf _:genid48 . + +_:genid48 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid49 . + +_:genid49 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property . + +saref:Measurement rdfs:subClassOf _:genid50 . + +_:genid50 a owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime . + +saref:Measurement rdfs:subClassOf _:genid51 . + +_:genid51 a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger . + +saref:Measurement rdfs:subClassOf _:genid52 . + +_:genid52 a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float . + +saref:Measurement owl:disjointWith saref:Property , saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Measurement"@en . +# +# https://w3id.org/saref#Property + +saref:Property a owl:Class ; + rdfs:subClassOf _:genid53 . + +_:genid53 a owl:Restriction ; + owl:onProperty saref:isControlledByDevice ; + owl:allValuesFrom saref:Device . + +saref:Property rdfs:subClassOf _:genid54 . + +_:genid54 a owl:Restriction ; + owl:onProperty saref:isMeasuredByDevice ; + owl:allValuesFrom saref:Device . + +saref:Property rdfs:subClassOf _:genid55 . + +_:genid55 a owl:Restriction ; + owl:onProperty saref:isPropertyOf ; + owl:allValuesFrom saref:FeatureOfInterest . + +saref:Property rdfs:subClassOf _:genid56 . + +_:genid56 a owl:Restriction ; + owl:onProperty saref:relatesToMeasurement ; + owl:allValuesFrom saref:Measurement . + +saref:Property owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en , "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "Property"@en , "Property"^^xsd:string . +# +# https://w3id.org/saref#Sensor + +saref:Sensor a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en . +# +# https://w3id.org/saref#State + +saref:State a owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "State"^^xsd:string . +# +# https://w3id.org/saref#Task + +saref:Task a owl:Class ; + rdfs:subClassOf _:genid57 . + +_:genid57 a owl:Restriction ; + owl:onProperty saref:isAccomplishedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device . + +saref:Task rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Task"^^xsd:string . +# +# https://w3id.org/saref#Temperature + +saref:Temperature a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"^^xsd:string ; + rdfs:label "Temperature"@en , "Temperature"^^xsd:string . +# +# https://w3id.org/saref#Time + +saref:Time a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology."^^xsd:string ; + rdfs:label "Time"^^xsd:string . +# +# https://w3id.org/saref#UnitOfMeasure + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."^^xsd:string , "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> , saref: ; + rdfs:label "Unit of measure"@en . +# +# +# +# ################################################################# +# # +# # Individuals +# # +# ################################################################# +# +# +# http://dbpedia.org/resource/DBM + +<http://dbpedia.org/resource/DBM> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "decibel-milliwatts"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius + +<http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "degree Celsius"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/millibar + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millibar> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "millibar"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "millimetre"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "millivolt"@en . +# +# https://saref.etsi.org/saref4agri#AirTemperature + +s4agri:AirTemperature a owl:NamedIndividual , saref:Temperature . +# +# https://saref.etsi.org/saref4agri#AmbientHumidity + +s4agri:AmbientHumidity a owl:NamedIndividual , saref:Humidity . +# +# https://saref.etsi.org/saref4agri#IrrigationWater + +s4agri:IrrigationWater a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#PlantGrowthStage + +s4agri:PlantGrowthStage a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#Precipitation + +s4agri:Precipitation a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#SoilMoisture + +s4agri:SoilMoisture a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#SoilTemperature + +s4agri:SoilTemperature a owl:NamedIndividual , saref:Temperature . +# +# +# +# ################################################################# +# # +# # Annotations +# # +# ################################################################# +# +# + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> rdfs:comment """The relation between something and the point, + or other geometrical thing in space, where it is. For example, the realtionship between + a radio tower and a Point with a given lat and long. + Or a relationship between a park and its outline as a closed arc of points, or a road and + its location as a arc (a sequence of points). + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect + an accuracy appropriate for the size of the object and uses such as mapping . + """ ; + rdfs:label "location"@en . +# + +s4agri:AirTemperature rdfs:comment "The degree or intensity of heat present in the air." ; + rdfs:label "Air temperature"@en . +# + +s4agri:AmbientHumidity rdfs:label "Ambient huidity"@en , "Ambient humidity"@en ; + rdfs:comment "The amount of water vapour in the air." . +# + +s4agri:IrrigationWater rdfs:comment "The amount of water falling in the soil by irrigation methods." ; + rdfs:label "Irrigation water"@en . +# + +s4agri:PlantGrowthStage rdfs:comment "The level or stage of growth of the plant." ; + rdfs:label "Plant growth stage"@en . +# + +s4agri:Precipitation rdfs:comment "The amount of water falling in the soil by natural process (e.g. rain)." ; + rdfs:label "Precipitation"@en . +# + +s4agri:SoilMoisture rdfs:label "Soil moisture"@en ; + rdfs:comment "The amount of water or humidity contained in the soil." . +# + +s4agri:SoilTemperature rdfs:comment "The degree or intensity of heat present in the soil." ; + rdfs:label "Soil temperature"@en . +# +# Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.html b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.html new file mode 100644 index 0000000000000000000000000000000000000000..45a1069ff7f261233bbe81d3f3fb3b3203c35eff --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.html @@ -0,0 +1,185 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain</h1> + <p><strong>Official ETSI documentation for SAREF4AGRI v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4AGRI ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4AGRI v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4agri.ttl">Turtle</a> or <a href="./saref4agri.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4agri#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511.</p> + <p>This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.n3 b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.n3 new file mode 100644 index 0000000000000000000000000000000000000000..c9e23c64ea30d0b4695a3630c28704a25eeda5a5 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.n3 @@ -0,0 +1,939 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix s4agri: <https://saref.etsi.org/saref4agri#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +s4agri:Intake a owl:Class ; + rdfs:isDefinedBy "The amount of food or other substance taken into the body of an animal or into the soil."@en ; + rdfs:label "Intake"@en ; + rdfs:subClassOf saref:Property . + +saref:controlsProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "controls property"@en . + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has timestamp"@en . + +<http://www.w3.org/2006/time#Instant> + a owl:Class ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Instant"@en ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4agri:Parcel a owl:Class ; + rdfs:comment "An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items."@en ; + rdfs:label "Parcel" ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Crop + ] . + +<http://www.w3.org/ns/ssn/hasDeployment> + a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has deployment"@en . + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> + a owl:ObjectProperty , owl:AnnotationProperty ; + rdfs:comment "The relation between something and the point, \r\n or other geometrical thing in space, where it is. For example, the realtionship between\r\n a radio tower and a Point with a given lat and long.\r\n Or a relationship between a park and its outline as a closed arc of points, or a road and\r\n its location as a arc (a sequence of points).\r\n Clearly in practice there will be limit to the accuracy of any such statement, but one would expect\r\n an accuracy appropriate for the size of the object and uses such as mapping .\r\n " ; + rdfs:label "location"@en ; + rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/based_near> . + +saref:isFeatureOfInterestOf + a owl:ObjectProperty ; + rdfs:comment "Relation betwwen a feature of interest and the measurments that are about it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is feature of interest of"@en . + +s4agri:Yield a owl:Class ; + rdfs:isDefinedBy "The produced amount of food for animals or of agricultural products."@en ; + rdfs:label "Yield"@en ; + rdfs:subClassOf saref:Property . + +<http://www.opengis.net/ont/geosparql#SpatialObject> + a owl:Class ; + rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.w3.org/2003/01/geo/wgs84_pos#Point> ; + owl:onProperty <http://www.w3.org/2003/01/geo/wgs84_pos#location> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfWithin> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfContains> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> + ] . + +s4agri:hasName a owl:DatatypeProperty ; + rdfs:label "has name" , "A relation to express the name of an entity (e.g.,animal)." ; + rdfs:range xsd:string . + +<http://www.w3.org/2006/time#Interval> + a owl:Class ; + rdfs:comment "A temporal entity with an extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Time interval"@en ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +saref:State a owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "State" . + +s4agri:WeatherStation + a owl:Class ; + rdfs:comment "A sensor o system that measure weather conditions."@en ; + rdfs:label "Weather station"@en ; + rdfs:subClassOf saref:Sensor , <http://www.w3.org/ns/ssn/System> . + +s4agri:Animal a owl:Class ; + rdfs:comment "An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli."@en ; + rdfs:label "Animal" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty s4agri:hasBirthDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty s4agri:hasDeathDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isMemberOf ; + owl:someValuesFrom s4agri:AnimalGroup + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4agri:ID ; + owl:onProperty s4agri:hasID + ] . + +<http://purl.obolibrary.org/obo/TAXRANK_0000000> + a owl:Class ; + rdfs:label "Taxon rank"@en . + +saref:FeatureOfInterest + a owl:Class ; + rdfs:comment saref: ; + rdfs:label "Feature of interest"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:hasProperty + ] . + +<http://www.w3.org/2003/01/geo/wgs84_pos#alt> + a owl:AnnotationProperty ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ; + rdfs:label "altitude" . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "millivolt"@en . + +s4agri:isContainedIn a owl:ObjectProperty ; + rdfs:label "is contained in"@en . + +saref:hasModel a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has model" ; + rdfs:range xsd:string . + +s4agri:SoilTensiometer + a owl:Class ; + rdfs:comment "A sensor that measures the soil moisture."@en ; + rdfs:label "Soil tensiometer"@en ; + rdfs:subClassOf saref:Sensor . + +<http://www.w3.org/ns/ssn/hasSubSystem> + a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has subsystem"@en . + +<http://www.w3.org/2004/02/skos/core#prefLabel> + a owl:AnnotationProperty . + +saref:Temperature a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)" ; + rdfs:label "Temperature" , "Temperature"@en ; + rdfs:subClassOf saref:Property . + +s4agri:isDeployedAtSpace + a owl:ObjectProperty ; + rdfs:comment "is deployed at space"@en , "Relation to indicate the geographical componet of a deployment."@en ; + rdfs:label "is deployed at space" . + +s4agri:Soil a owl:Class ; + rdfs:comment "Upper layer of the earth in which plants grow." ; + rdfs:label "Soil" ; + rdfs:subClassOf saref:FeatureOfInterest . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to property"@en . + +<http://www.w3.org/ns/sosa/Platform> + a owl:Class ; + rdfs:comment "A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "Platform"@en . + +saref:isControlledByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is controlled by device"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en , "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)." ; + rdfs:isDefinedBy saref: , <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ; + rdfs:label "Unit of measure"@en . + +saref:hasState a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has state"@en . + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:comment "Relation between a property and a feature of interest in which such property appears."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is property of"@en . + +s4agri:WateringGun a owl:Class ; + rdfs:comment "An actuator to irrigate an space."@en ; + rdfs:label "Watering gun"@en ; + rdfs:subClassOf saref:Actuator . + +<http://xmlns.com/foaf/0.1/Person> + a owl:Class ; + rdfs:label "Person"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + +s4agri:Building a owl:Class ; + rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building" ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:BuildingSpace + ] . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "millimetre"@en . + +s4agri:EatingActivitySensor + a owl:Class ; + rdfs:label "Eating activity sensor"@en ; + rdfs:subClassOf saref:Sensor . + +s4agri:ID a owl:Class ; + rdfs:label "ID" . + +s4agri:IrrigationWater + a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water falling in the soil by irrigation methods." ; + rdfs:label "Irrigation water"@en ; + rdfs:subClassOf saref:Property . + +<http://www.w3.org/ns/ssn/inDeployment> + a owl:ObjectProperty ; + rdfs:comment "Relation between a platform and the deployment(s) that takes place in the platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "in deployment"@en . + +<http://xmlns.com/foaf/0.1/member> + a owl:ObjectProperty ; + rdfs:label "member"@en . + +s4agri:hasReceived a owl:ObjectProperty ; + rdfs:label "has received" ; + owl:inverseOf s4agri:receives . + +s4agri:SoilTemperature + a saref:Temperature , owl:NamedIndividual , owl:Class ; + rdfs:comment "The degree or intensity of heat present in the soil." ; + rdfs:label "Soil temperature"@en ; + rdfs:subClassOf saref:Temperature . + +s4agri: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor "Jack Verhoosel, TNO" ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> , <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> , <http://www.garcia-castro.com/foaf.rdf#me> , <https://www.linkedin.com/in/mderoode> ; + dcterms:created "2019-04-15"^^xsd:date ; + dcterms:description "SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511. " , "This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2019-05-20"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/sarefagri/> , <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf> ; + dcterms:title "SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain" ; + vann:preferredNamespacePrefix "s4agri" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4agri#" ; + owl:versionIRI <https://saref.etsi.org/saref4agri/v1.1.1/saref4agri#> ; + owl:versionInfo "1.1.1" . + +s4agri:Pluviometer a owl:Class ; + rdfs:comment "A sensor that measures the rain fall."@en ; + rdfs:label "Pluviometer"@en ; + rdfs:subClassOf saref:Sensor . + +saref:isMeasuredByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured by device"@en . + +s4agri:MilkingSensor a owl:Class ; + rdfs:label "Milking sensor"@en ; + rdfs:subClassOf saref:Sensor . + +saref:Property a owl:Class ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." , "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Property" , "Property"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isMeasuredByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isControlledByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:isPropertyOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:relatesToMeasurement + ] ; + owl:disjointWith saref:UnitOfMeasure . + +s4agri:hasDeathDate a owl:DatatypeProperty ; + rdfs:comment "A relation to express the death date of an animal." ; + rdfs:label "has death date" ; + rdfs:range xsd:dateTime . + +s4agri:isLocationOf a owl:ObjectProperty ; + rdfs:label "is location of" . + +saref:Device a owl:Class ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +s4agri:Deployment a owl:Class ; + rdfs:comment "The scenario, including temporal and spatial information, in which the systems and devices are installed."@en , "Deployment"@en ; + rdfs:label "Deployment"@en ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/Deployment> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isDeployedAtSpace ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasDeploymentPeriod ; + owl:someValuesFrom <http://www.w3.org/2006/time#TemporalEntity> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedSystem> ; + owl:someValuesFrom <http://www.w3.org/ns/ssn/System> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedOnPlatform> ; + owl:someValuesFrom <http://www.w3.org/ns/sosa/Platform> + ] . + +s4agri:generates a owl:ObjectProperty ; + rdfs:comment "A relation to represent the yield generated by a Crop." ; + rdfs:label "generates"@en ; + rdfs:subPropertyOf saref:hasProperty . + +s4agri:hasDeploymentPeriod + a owl:ObjectProperty ; + rdfs:comment "has deployment period"@en , "Relation to indicate the temporal duration or period of a deployment."@en ; + rdfs:label "has deployment period" . + +s4agri:WateringValve a owl:Class ; + rdfs:label "Watering valve"@en ; + rdfs:subClassOf saref:Actuator . + +<http://www.opengis.net/ont/geosparql#hasGeometry> + a owl:ObjectProperty ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:domain <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ; + rdfs:label "has geometry"@en ; + rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> . + +<https://schema.org/Organization> + a owl:Class ; + rdfs:label "Organization"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +s4agri:hasHarvestDate + a owl:DatatypeProperty ; + rdfs:comment "A relation to express the day the crop is harvested." ; + rdfs:label "has harvest date" ; + rdfs:range xsd:dateTime ; + rdfs:subPropertyOf owl:topDataProperty . + +<http://www.w3.org/2003/01/geo/wgs84_pos#lat> + a owl:AnnotationProperty ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ; + rdfs:label "latitude" . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en ; + rdfs:range xsd:string . + +saref:hasManufacturer + a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer" ; + rdfs:range xsd:string . + +<http://www.w3.org/ns/ssn/deployedOnPlatform> + a owl:ObjectProperty ; + rdfs:comment "Relation between a deployment and the platform(s) involved in the deployment."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed on platform"@en ; + owl:inverseOf <http://www.w3.org/ns/ssn/inDeployment> . + +s4agri:hasMember a owl:ObjectProperty ; + rdfs:comment "A relation to represent the members of an AnimalGroup." ; + rdfs:label "has member" ; + owl:inverseOf s4agri:isMemberOf . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "degree Celsius"@en . + +<http://dbpedia.org/resource/DBM> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "decibel-milliwatts"@en . + +s4agri:AmbientHumidity + a saref:Humidity , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water vapour in the air." ; + rdfs:label "Ambient humidity"@en , "Ambient huidity"@en ; + rdfs:subClassOf saref:Humidity . + +s4agri:isLocatedIn a owl:ObjectProperty ; + rdfs:comment "A relation to express the physical location of a saref4agri entity (e.g., an animal)" ; + rdfs:label "is located in" ; + owl:inverseOf s4agri:isLocationOf . + +s4agri:Platform a owl:Class ; + rdfs:label "Platform" ; + rdfs:subClassOf <http://www.w3.org/ns/sosa/Platform> . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured in"@en . + +s4agri:Precipitation a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water falling in the soil by natural process (e.g. rain)." ; + rdfs:label "Precipitation"@en ; + rdfs:subClassOf saref:Property . + +s4agri:hasID a owl:ObjectProperty ; + rdfs:comment "A relation to express the unique identifier of an animal." ; + rdfs:label "has id"@en ; + rdfs:range s4agri:ID ; + rdfs:subPropertyOf owl:topObjectProperty . + +saref:relatesToMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to measurement"@en . + +s4agri:BuildingSpace a owl:Class ; + rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> . + +<http://www.w3.org/ns/ssn/Deployment> + a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "Deployment"@en . + +s4agri:Farm a owl:Class ; + rdfs:comment "A plot of land used for the scope of farming which can contain buildings and parcels."@en ; + rdfs:label "Farm" ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Parcel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Building + ] . + +<http://www.w3.org/ns/sosa/hosts> + a owl:ObjectProperty ; + rdfs:comment "Relation between a platform and the systems it hosts."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "host"@en ; + owl:inverseOf <http://www.w3.org/ns/sosa/isHostedBy> . + +saref:isAccomplishedBy + a owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)" ; + rdfs:isDefinedBy saref: ; + rdfs:label "is accomplished by" . + +saref:Task a owl:Class ; + rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Task" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device ; + owl:onProperty saref:isAccomplishedBy + ] . + +<http://www.w3.org/ns/ssn/deployedSystem> + a owl:ObjectProperty ; + rdfs:comment "Relation between a deployment and the system deployed."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed system"@en ; + owl:inverseOf <http://www.w3.org/ns/ssn/hasDeployment> . + +saref:hasFeatureOfInterest + a owl:ObjectProperty ; + rdfs:comment "Relation between a measurement and the feature of interest being measured."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has feature of interest"@en ; + owl:inverseOf saref:isFeatureOfInterestOf . + +saref:measurementMadeBy + a owl:ObjectProperty ; + rdfs:comment "Relation between a measurement and the device that made it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "measurement made by"@en . + +<http://www.opengis.net/ont/geosparql#sfContains> + a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:isDefinedBy <http://www.opengis.net/spec/geosparql/1.0> , <http://www.opengis.net/ont/geosparql> ; + rdfs:label "contains"@en ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> . + +<http://xmlns.com/foaf/0.1/Agent> + a owl:Class ; + rdfs:label "Agent"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://xmlns.com/foaf/0.1/member> ; + owl:someValuesFrom <http://xmlns.com/foaf/0.1/Agent> + ] . + +saref:Humidity a owl:Class ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit" ; + rdfs:label "Humidiy"@en , "Humidity" ; + rdfs:subClassOf saref:Property . + +saref:Sensor a owl:Class ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en ; + rdfs:subClassOf saref:Device . + +<http://www.w3.org/2004/02/skos/core#definition> + a owl:AnnotationProperty . + +s4agri:isMemberOf a owl:ObjectProperty ; + rdfs:comment "A relation to express that an animal can be part of groups." ; + rdfs:label "is member of" . + +saref:Time a owl:Class ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology." ; + rdfs:label "Time" ; + rdfs:subClassOf saref:Property . + +<http://www.w3.org/ns/ssn/System> + a owl:Class ; + 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. (Definition taken from http://www.w3.org/ns/ssn/System)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "System"@en . + +saref:hasCommand a owl:ObjectProperty ; + rdfs:comment "A relationship between an entity (such as a function) and a command" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has command" ; + owl:inverseOf saref:isCommandOf . + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millibar> + a saref:UnitOfMeasure , owl:NamedIndividual ; + rdfs:label "millibar"@en . + +<http://www.w3.org/2003/01/geo/wgs84_pos#Point> + a owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84." , " \r\nUniquely identified by lat/long/alt. i.e.\r\n\r\nspaciallyIntersects(P1, P2) s4agri:- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),\r\n lat(P2, LAT), long(P2, LONG), alt(P2, ALT).\r\n\r\nsameThing(P1, P2) s4agri:- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).\r\n " ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "Point"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> . + +s4agri:receives a owl:ObjectProperty ; + rdfs:comment "A relation to represent the intake/consumption of certain substances in a Crop." ; + rdfs:label "receives" ; + rdfs:subPropertyOf saref:hasProperty . + +s4agri:WateringSystem + a owl:Class ; + rdfs:label "Watering system"@en ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> . + +s4agri:managesFarm a owl:ObjectProperty ; + rdfs:label "manages farm"@en . + +<http://www.w3.org/2006/time#TemporalEntity> + a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Temporal entity"@en . + +s4agri:hasPlantDate a owl:DatatypeProperty ; + rdfs:comment "A relation to express the day the crop is planted." ; + rdfs:label "has plant date" ; + rdfs:range xsd:dateTime ; + rdfs:subPropertyOf owl:topDataProperty . + +s4agri:Crop a owl:Class ; + rdfs:comment "A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable."@en ; + rdfs:label "Crop" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasPlantDate ; + owl:someValuesFrom xsd:dateTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasHarvestDate ; + owl:someValuesFrom xsd:dateTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> + ] . + +s4agri:WeightSensor a owl:Class ; + rdfs:label "Weight sensor"@en ; + rdfs:subClassOf saref:Sensor . + +<http://www.opengis.net/ont/geosparql#sfWithin> + a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:isDefinedBy <http://www.opengis.net/spec/geosparql/1.0> , <http://www.opengis.net/ont/geosparql> ; + rdfs:label "within"@en ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> . + +s4agri:AirTemperature + a saref:Temperature , owl:NamedIndividual , owl:Class ; + rdfs:comment "The degree or intensity of heat present in the air." ; + rdfs:label "Air temperature"@en ; + rdfs:subClassOf saref:Temperature . + +<http://www.w3.org/ns/prov#hadPrimarySource> + a owl:AnnotationProperty . + +saref:Function a owl:Class ; + rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. " ; + rdfs:label "Function" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command ; + owl:onProperty saref:hasCommand + ] . + +<http://xmlns.com/foaf/0.1/based_near> + a owl:AnnotationProperty . + +saref:Command a owl:Class ; + rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Command" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function ; + owl:onProperty saref:isCommandOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:actsUpon + ] . + +saref:isCommandOf a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function." ; + rdfs:isDefinedBy saref: ; + rdfs:label "is command of" . + +<http://www.w3.org/2003/01/geo/wgs84_pos#long> + a owl:AnnotationProperty ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ; + rdfs:label "longitude" . + +s4agri:hasBirthDate a owl:DatatypeProperty ; + rdfs:comment "A relation to express the birth date of an animal." ; + rdfs:label "has birth date" ; + rdfs:range xsd:dateTime . + +saref:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device" ; + rdfs:isDefinedBy saref: ; + rdfs:label "has function" . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "makes measurement"@en ; + owl:inverseOf saref:measurementMadeBy . + +s4agri:contains a owl:ObjectProperty ; + rdfs:subPropertyOf <http://www.opengis.net/ont/geosparql#sfContains> ; + owl:inverseOf s4agri:isContainedIn . + +saref:actsUpon a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state" ; + rdfs:isDefinedBy saref: ; + rdfs:label "acts upon" . + +s4agri:SoilMoisture a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The amount of water or humidity contained in the soil." ; + rdfs:label "Soil moisture"@en ; + rdfs:subClassOf saref:Property . + +saref:accomplishes a owl:ObjectProperty ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes" ; + rdfs:isDefinedBy saref: ; + rdfs:label "accomplishes" ; + owl:inverseOf saref:isAccomplishedBy . + +<http://www.w3.org/ns/sosa/isHostedBy> + a owl:ObjectProperty ; + rdfs:comment "Relation between a system and its hosting platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "is hosted by"@en . + +s4agri:AnimalGroup a owl:Class ; + rdfs:comment "A collection of one or multiple animals."@en ; + rdfs:label "Animal Group" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:hasMember ; + owl:someValuesFrom s4agri:Animal + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield + ] . + +s4agri:MovementActivitySensor + a owl:Class ; + rdfs:label "Movement activity sensor"@en ; + rdfs:subClassOf saref:Sensor . + +<http://purl.obolibrary.org/obo/TAXRANK_1000000> + a owl:ObjectProperty ; + rdfs:label "has taxon rank"@en . + +s4agri:Thermometer a owl:Class ; + rdfs:label "Thermometer"@en ; + rdfs:subClassOf saref:Sensor . + +<http://www.opengis.net/ont/geosparql#Feature> + a owl:Class ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156s4agri:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/gml> , <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Feature"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> + ] ; + owl:disjointWith <http://www.opengis.net/ont/geosparql#Geometry> . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:hasFeatureOfInterest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + owl:disjointWith saref:Property , saref:UnitOfMeasure . + +xsd:date a rdfs:Datatype . + +saref:hasProperty a owl:ObjectProperty ; + rdfs:comment "Relation between a feature of interest and its properties."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has property"@en ; + owl:inverseOf saref:isPropertyOf . + +saref:Actuator a owl:Class ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en ; + rdfs:subClassOf saref:Device . + +s4agri:FarmHolding a owl:Class ; + rdfs:comment "A class to decsribe a saref4agri farm holding as subcass of an org:Organization" ; + rdfs:label "Farm holding"@en ; + rdfs:subClassOf <https://schema.org/Organization> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm + ] . + +s4agri:Farmer a owl:Class ; + rdfs:comment "A class to decsribe a saref4agri farmer as subcass of a foaf:Person" ; + rdfs:label "Farmer"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Person> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4agri:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm + ] . + +xsd:duration a rdfs:Datatype . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "measures property"@en . + +s4agri:PlantGrowthStage + a saref:Property , owl:NamedIndividual , owl:Class ; + rdfs:comment "The level or stage of growth of the plant." ; + rdfs:label "Plant growth stage"@en ; + rdfs:subClassOf saref:Property . + +<http://www.opengis.net/ont/geosparql#Geometry> + a owl:Class ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> . diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.rdf b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.rdf new file mode 100644 index 0000000000000000000000000000000000000000..fb69e13afd5ff7e4c63f5e76b5c658158ff8f32b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.rdf @@ -0,0 +1,1272 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:s4agri="https://saref.etsi.org/saref4agri#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:saref="https://saref.etsi.org/saref#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4agri#"> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-05-20</dcterms:modified> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-04-15</dcterms:created> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/sarefagri/"/> + <dcterms:title>SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain</dcterms:title> + <vann:preferredNamespacePrefix>s4agri</vann:preferredNamespacePrefix> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf"/> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4agri/v1.1.1/saref4agri#"/> + <dcterms:description>SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511. </dcterms:description> + <dcterms:contributor>Jack Verhoosel, TNO</dcterms:contributor> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/mderoode"/> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain.</dcterms:description> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4agri#</vann:preferredNamespaceUri> + </owl:Ontology> + <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#date"/> + <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#duration"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Animal"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Animal</rdfs:label> + <rdfs:comment xml:lang="en">An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="http://purl.obolibrary.org/obo/TAXRANK_0000000"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/TAXRANK_1000000"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasBirthDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeathDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#AnimalGroup"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isMemberOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#ID"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasID"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Yield"> + <rdfs:label xml:lang="en">Yield</rdfs:label> + <rdfs:isDefinedBy xml:lang="en">The produced amount of food for animals or of agricultural products.</rdfs:isDefinedBy> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://purl.obolibrary.org/obo/TAXRANK_0000000"> + <rdfs:label xml:lang="en">Taxon rank</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Soil"> + <rdfs:label>Soil</rdfs:label> + <rdfs:comment>Upper layer of the earth in which plants grow.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Intake"> + <rdfs:label xml:lang="en">Intake</rdfs:label> + <rdfs:isDefinedBy xml:lang="en">The amount of food or other substance taken into the body of an animal or into the soil.</rdfs:isDefinedBy> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/ssn/System"> + <rdfs:label xml:lang="en">System</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other Systems. (Definition taken from http://www.w3.org/ns/ssn/System)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"> + <rdfs:label xml:lang="en">Temporal entity</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal interval or instant.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WateringSystem"> + <rdfs:label xml:lang="en">Watering system</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/ssn/System"/> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#SpatialObject"> + <rdfs:label xml:lang="en">SpatialObject</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfWithin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfContains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Task"> + <rdfs:label>Task</rdfs:label> + <rdfs:comment>The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Measurement"> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFeatureOfInterest"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Interval"> + <rdfs:label xml:lang="en">Time interval</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal entity with an extent or duration</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/sosa/Platform"> + <rdfs:label xml:lang="en">Platform</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/sosa/"/> + <rdfs:comment xml:lang="en">A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"> + <rdfs:label xml:lang="en">Feature</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/gml"/> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156s4agri:2011, and it is superclass of all feature types.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#MilkingSensor"> + <rdfs:label xml:lang="en">Milking sensor</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Farm"> + <rdfs:label>Farm</rdfs:label> + <rdfs:comment xml:lang="en">A plot of land used for the scope of farming which can contain buildings and parcels.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Parcel"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Building"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WateringValve"> + <rdfs:label xml:lang="en">Watering valve</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Building"> + <rdfs:label>Building</rdfs:label> + <rdfs:comment xml:lang="en">A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#BuildingSpace"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Time"> + <rdfs:label>Time</rdfs:label> + <rdfs:comment>A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#AnimalGroup"> + <rdfs:label>Animal Group</rdfs:label> + <rdfs:comment xml:lang="en">A collection of one or multiple animals.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Intake"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#receives"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Animal"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasMember"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Yield"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#generates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"> + <rdfs:label xml:lang="en">Person</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:isDefinedBy rdf:resource="http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + <rdfs:comment>The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Humidity"> + <rdfs:label xml:lang="en">Humidiy</rdfs:label> + <rdfs:label>Humidity</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"> + <rdfs:label xml:lang="en">Geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Platform"> + <rdfs:label>Platform</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/sosa/Platform"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Instant"> + <rdfs:label xml:lang="en">Instant</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal entity with zero extent or duration</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#FarmHolding"> + <rdfs:label xml:lang="en">Farm holding</rdfs:label> + <rdfs:comment>A class to decsribe a saref4agri farm holding as subcass of an org:Organization</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Farm"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#managesFarm"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://schema.org/Organization"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Property"> + <rdfs:comment>Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isPropertyOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref#UnitOfMeasure"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Function"> + <rdfs:label>Function</rdfs:label> + <rdfs:comment>The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WeatherStation"> + <rdfs:label xml:lang="en">Weather station</rdfs:label> + <rdfs:comment xml:lang="en">A sensor o system that measure weather conditions.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/ssn/System"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#MovementActivitySensor"> + <rdfs:label xml:lang="en">Movement activity sensor</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Deployment"> + <rdfs:label xml:lang="en">Deployment</rdfs:label> + <rdfs:comment xml:lang="en">The scenario, including temporal and spatial information, in which the systems and devices are installed.</rdfs:comment> + <rdfs:comment xml:lang="en">Deployment</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isDeployedAtSpace"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeploymentPeriod"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/ns/ssn/System"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedSystem"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/ns/sosa/Platform"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedOnPlatform"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/ns/ssn/Deployment"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WeightSensor"> + <rdfs:label xml:lang="en">Weight sensor</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Parcel"> + <rdfs:label>Parcel</rdfs:label> + <rdfs:comment xml:lang="en">An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Crop"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Thermometer"> + <rdfs:label xml:lang="en">Thermometer</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#FeatureOfInterest"> + <rdfs:label xml:lang="en">Feature of interest</rdfs:label> + <rdfs:comment rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Farmer"> + <rdfs:label xml:lang="en">Farmer</rdfs:label> + <rdfs:comment>A class to decsribe a saref4agri farmer as subcass of a foaf:Person</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Farm"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#managesFarm"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#SoilTensiometer"> + <rdfs:label xml:lang="en">Soil tensiometer</rdfs:label> + <rdfs:comment xml:lang="en">A sensor that measures the soil moisture.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#BuildingSpace"> + <rdfs:label xml:lang="en">Building space</rdfs:label> + <rdfs:comment xml:lang="en">An entity used to define the physical spaces of the building. A building space contains devices or building objects.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Pluviometer"> + <rdfs:label xml:lang="en">Pluviometer</rdfs:label> + <rdfs:comment xml:lang="en">A sensor that measures the rain fall.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#ID"> + <rdfs:label>ID</rdfs:label> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/ssn/Deployment"> + <rdfs:label xml:lang="en">Deployment</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Temperature"> + <rdfs:label>Temperature</rdfs:label> + <rdfs:label xml:lang="en">Temperature</rdfs:label> + <rdfs:comment>A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#WateringGun"> + <rdfs:label xml:lang="en">Watering gun</rdfs:label> + <rdfs:comment xml:lang="en">An actuator to irrigate an space.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Actuator"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#State"> + <rdfs:label>State</rdfs:label> + <rdfs:comment>The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Device"> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/ssn/System"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#Crop"> + <rdfs:label>Crop</rdfs:label> + <rdfs:comment xml:lang="en">A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasPlantDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasHarvestDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Intake"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#receives"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/saref4agri#Yield"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#generates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/TAXRANK_0000000"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/TAXRANK_1000000"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#FeatureOfInterest"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref#Command"> + <rdfs:label>Command</rdfs:label> + <rdfs:comment>A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref#Function"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref#State"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"> + <rdfs:label xml:lang="en">Agent</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://xmlns.com/foaf/0.1/member"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://schema.org/Organization"> + <rdfs:label xml:lang="en">Organization</rdfs:label> + <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4agri#EatingActivitySensor"> + <rdfs:label xml:lang="en">Eating activity sensor</rdfs:label> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Sensor"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"> + <rdfs:label xml:lang="en">Point</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment>A point, typically described using a coordinate system relative to Earth, such as WGS84.</rdfs:comment> + <rdfs:comment> 
 +Uniquely identified by lat/long/alt. i.e.
 +
 +spaciallyIntersects(P1, P2) s4agri:- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),
 + lat(P2, LAT), long(P2, LONG), alt(P2, ALT).
 +
 +sameThing(P1, P2) s4agri:- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).
 + </rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeploymentPeriod"> + <rdfs:label>has deployment period</rdfs:label> + <rdfs:comment xml:lang="en">has deployment period</rdfs:comment> + <rdfs:comment xml:lang="en">Relation to indicate the temporal duration or period of a deployment.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#generates"> + <rdfs:label xml:lang="en">generates</rdfs:label> + <rdfs:comment>A relation to represent the yield generated by a Crop.</rdfs:comment> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProperty"/> + </rdfs:subPropertyOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:comment>The relation between something and the point, 
 + or other geometrical thing in space, where it is. For example, the realtionship between
 + a radio tower and a Point with a given lat and long.
 + Or a relationship between a park and its outline as a closed arc of points, or a road and
 + its location as a arc (a sequence of points).
 + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
 + an accuracy appropriate for the size of the object and uses such as mapping .
 + </rdfs:comment> + <rdfs:subPropertyOf> + <owl:AnnotationProperty rdf:about="http://xmlns.com/foaf/0.1/based_near"/> + </rdfs:subPropertyOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/TAXRANK_1000000"> + <rdfs:label xml:lang="en">has taxon rank</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredIn"> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#managesFarm"> + <rdfs:label xml:lang="en">manages farm</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isContainedIn"> + <rdfs:label xml:lang="en">is contained in</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"> + <rdfs:label xml:lang="en">has geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql#"/> + <rdfs:comment xml:lang="en">A spatial representation for a given feature.</rdfs:comment> + <rdfs:range rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + <rdfs:domain rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasProperty"> + <rdfs:label xml:lang="en">has property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a feature of interest and its properties.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isPropertyOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/hasSubSystem"> + <rdfs:label xml:lang="en">has subsystem</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfContains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/spec/geosparql/1.0"/> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*</rdfs:comment> + <rdfs:range rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <rdfs:domain rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedSystem"> + <rdfs:label xml:lang="en">deployed system</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">Relation between a deployment and the system deployed.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/hasDeployment"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/hasDeployment"> + <rdfs:label xml:lang="en">has deployment</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://xmlns.com/foaf/0.1/member"> + <rdfs:label xml:lang="en">member</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isMemberOf"> + <rdfs:label>is member of</rdfs:label> + <rdfs:comment>A relation to express that an animal can be part of groups.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfWithin"> + <rdfs:label xml:lang="en">within</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/spec/geosparql/1.0"/> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***</rdfs:comment> + <rdfs:range rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + <rdfs:domain rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocatedIn"> + <rdfs:label>is located in</rdfs:label> + <rdfs:comment>A relation to express the physical location of a saref4agri entity (e.g., an animal)</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocationOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#contains"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4agri#isContainedIn"/> + <rdfs:subPropertyOf rdf:resource="http://www.opengis.net/ont/geosparql#sfContains"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFunction"> + <rdfs:label>has function</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship identifying the type of function of a device</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#receives"> + <rdfs:label>receives</rdfs:label> + <rdfs:comment>A relation to represent the intake/consumption of certain substances in a Crop.</rdfs:comment> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref#hasProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isPropertyOf"> + <rdfs:label xml:lang="en">is property of</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a property and a feature of interest in which such property appears.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToMeasurement"> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measurementMadeBy"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isDeployedAtSpace"> + <rdfs:label>is deployed at space</rdfs:label> + <rdfs:comment xml:lang="en">is deployed at space</rdfs:comment> + <rdfs:comment xml:lang="en">Relation to indicate the geographical componet of a deployment.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#isLocationOf"> + <rdfs:label>is location of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/sosa/isHostedBy"> + <rdfs:label xml:lang="en">is hosted by</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/sosa/"/> + <rdfs:comment xml:lang="en">Relation between a system and its hosting platform.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#controlsProperty"> + <rdfs:label xml:lang="en">controls property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/deployedOnPlatform"> + <rdfs:label xml:lang="en">deployed on platform</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">Relation between a deployment and the platform(s) involved in the deployment.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/inDeployment"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isControlledByDevice"> + <rdfs:label xml:lang="en">is controlled by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isMeasuredByDevice"> + <rdfs:label xml:lang="en">is measured by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#measurementMadeBy"> + <rdfs:label xml:lang="en">measurement made by</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a measurement and the device that made it.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasFeatureOfInterest"> + <rdfs:label xml:lang="en">has feature of interest</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation between a measurement and the feature of interest being measured.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isFeatureOfInterestOf"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasState"> + <rdfs:label xml:lang="en">has state</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isAccomplishedBy"> + <rdfs:label>is accomplished by</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship indentifying the task accomplished by a certain entity (e.g., a device)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasID"> + <rdfs:label xml:lang="en">has id</rdfs:label> + <rdfs:comment>A relation to express the unique identifier of an animal.</rdfs:comment> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4agri#ID"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#actsUpon"> + <rdfs:label>acts upon</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between a command and a state</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isFeatureOfInterestOf"> + <rdfs:label xml:lang="en">is feature of interest of</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment xml:lang="en">Relation betwwen a feature of interest and the measurments that are about it.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasReceived"> + <rdfs:label>has received</rdfs:label> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4agri#receives"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#accomplishes"> + <rdfs:label>accomplishes</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between a certain entity (e.g., a device) and the task it accomplishes</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#isAccomplishedBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/ssn/inDeployment"> + <rdfs:label xml:lang="en">in deployment</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/ssn/"/> + <rdfs:comment xml:lang="en">Relation between a platform and the deployment(s) that takes place in the platform.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#isCommandOf"> + <rdfs:label>is command of</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between a command and a function.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4agri#hasMember"> + <rdfs:label>has member</rdfs:label> + <rdfs:comment>A relation to represent the members of an AnimalGroup.</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4agri#isMemberOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/ns/sosa/hosts"> + <rdfs:label xml:lang="en">host</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/sosa/"/> + <rdfs:comment xml:lang="en">Relation between a platform and the systems it hosts.</rdfs:comment> + <owl:inverseOf rdf:resource="http://www.w3.org/ns/sosa/isHostedBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref#hasCommand"> + <rdfs:label>has command</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship between an entity (such as a function) and a command</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref#isCommandOf"/> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasDeathDate"> + <rdfs:label>has death date</rdfs:label> + <rdfs:comment>A relation to express the death date of an animal.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasManufacturer"> + <rdfs:label>has manufacturer</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship identifying the manufacturer of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasPlantDate"> + <rdfs:label>has plant date</rdfs:label> + <rdfs:comment>A relation to express the day the crop is planted.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasName"> + <rdfs:label xml:lang="en">has name</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasHarvestDate"> + <rdfs:label>has harvest date</rdfs:label> + <rdfs:comment>A relation to express the day the crop is harvested.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasModel"> + <rdfs:label>has model</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship identifying the model of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasDescription"> + <rdfs:label xml:lang="en">has description</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + <rdfs:comment>A relationship providing a description of an entity (e.g., device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasBirthDate"> + <rdfs:label>has birth date</rdfs:label> + <rdfs:comment>A relation to express the birth date of an animal.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://saref.etsi.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4agri#hasName"> + <rdfs:label>has name</rdfs:label> + <rdfs:label>A relation to express the name of an entity (e.g.,animal).</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <saref:Humidity rdf:about="https://saref.etsi.org/saref4agri#AmbientHumidity"> + <rdfs:comment>The amount of water vapour in the air.</rdfs:comment> + <rdfs:label xml:lang="en">Ambient humidity</rdfs:label> + <rdfs:label xml:lang="en">Ambient huidity</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Humidity"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Humidity> + <saref:Temperature rdf:about="https://saref.etsi.org/saref4agri#AirTemperature"> + <rdfs:label xml:lang="en">Air temperature</rdfs:label> + <rdfs:comment>The degree or intensity of heat present in the air.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Temperature"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Temperature> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius"> + <rdfs:label xml:lang="en">degree Celsius</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/millibar"> + <rdfs:label xml:lang="en">millibar</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#long"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>longitude</rdfs:label> + <rdfs:comment>The WGS84 longitude of a SpatialThing (decimal degrees).</rdfs:comment> + </owl:AnnotationProperty> + <saref:Temperature rdf:about="https://saref.etsi.org/saref4agri#SoilTemperature"> + <rdfs:label xml:lang="en">Soil temperature</rdfs:label> + <rdfs:comment>The degree or intensity of heat present in the soil.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Temperature"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Temperature> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#PlantGrowthStage"> + <rdfs:label xml:lang="en">Plant growth stage</rdfs:label> + <rdfs:comment>The level or stage of growth of the plant.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#prefLabel"/> + <saref:UnitOfMeasure rdf:about="http://dbpedia.org/resource/DBM"> + <rdfs:label xml:lang="en">decibel-milliwatts</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#SoilMoisture"> + <rdfs:comment>The amount of water or humidity contained in the soil.</rdfs:comment> + <rdfs:label xml:lang="en">Soil moisture</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre"> + <rdfs:label xml:lang="en">millimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#alt"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>altitude</rdfs:label> + <rdfs:comment>The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid).</rdfs:comment> + </owl:AnnotationProperty> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#IrrigationWater"> + <rdfs:label xml:lang="en">Irrigation water</rdfs:label> + <rdfs:comment>The amount of water falling in the soil by irrigation methods.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#definition"/> + <saref:Property rdf:about="https://saref.etsi.org/saref4agri#Precipitation"> + <rdfs:label xml:lang="en">Precipitation</rdfs:label> + <rdfs:comment>The amount of water falling in the soil by natural process (e.g. rain).</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref#Property"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + </saref:Property> + <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#hadPrimarySource"/> + <saref:UnitOfMeasure rdf:about="http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt"> + <rdfs:label xml:lang="en">millivolt</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:UnitOfMeasure> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#lat"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>latitude</rdfs:label> + <rdfs:comment>The WGS84 latitude of a SpatialThing (decimal degrees).</rdfs:comment> + </owl:AnnotationProperty> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.ttl b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.ttl new file mode 100644 index 0000000000000000000000000000000000000000..69aad4a320e8aab0318caa618e53df48c58c5a48 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4agri/v1.1.1/saref4agri.ttl @@ -0,0 +1,1374 @@ +@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#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix s4agri: <https://saref.etsi.org/saref4agri#> . + +<https://saref.etsi.org/saref4agri#> a owl:Ontology ; + dcterms:title "SAREF4AGRI: an extension of SAREF for the for the agriculture and food domain"^^xsd:string ; + dcterms:created "2019-04-15"^^xsd:date ; + dcterms:modified "2019-05-20"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4agri/v1.1.1/saref4agri#> ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <https://www.linkedin.com/in/mderoode> ; + dcterms:contributor "Jack Verhoosel, TNO"^^xsd:string ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4agri#" ; + vann:preferredNamespacePrefix "s4agri" ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/sarefagri/> ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:description "SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511. "^^xsd:string ; + dcterms:description "This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain."@en ; + dcterms:publisher <https://www.etsi.org/> . +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://www.w3.org/2003/01/geo/wgs84_pos#alt + +<http://www.w3.org/2003/01/geo/wgs84_pos#alt> a owl:AnnotationProperty ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:label "altitude" ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#lat + +<http://www.w3.org/2003/01/geo/wgs84_pos#lat> a owl:AnnotationProperty ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:label "latitude" ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> a owl:AnnotationProperty ; + rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/based_near> . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#long + +<http://www.w3.org/2003/01/geo/wgs84_pos#long> a owl:AnnotationProperty ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:label "longitude" ; + rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> . +# +# http://www.w3.org/2004/02/skos/core#definition + +<http://www.w3.org/2004/02/skos/core#definition> a owl:AnnotationProperty . +# +# http://www.w3.org/2004/02/skos/core#prefLabel + +<http://www.w3.org/2004/02/skos/core#prefLabel> a owl:AnnotationProperty . +# +# http://www.w3.org/ns/prov#hadPrimarySource + +<http://www.w3.org/ns/prov#hadPrimarySource> a owl:AnnotationProperty . +# +# http://xmlns.com/foaf/0.1/based_near + +<http://xmlns.com/foaf/0.1/based_near> a owl:AnnotationProperty . +# +# +# +# ################################################################# +# # +# # Datatypes +# # +# ################################################################# +# +# +# http://www.w3.org/2001/XMLSchema#date + +xsd:date a rdfs:Datatype . +# +# http://www.w3.org/2001/XMLSchema#duration + +xsd:duration a rdfs:Datatype . +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# http://purl.obolibrary.org/obo/TAXRANK_1000000 + +<http://purl.obolibrary.org/obo/TAXRANK_1000000> a owl:ObjectProperty ; + rdfs:label "has taxon rank"@en . +# +# http://www.opengis.net/ont/geosparql#hasGeometry + +<http://www.opengis.net/ont/geosparql#hasGeometry> a owl:ObjectProperty ; + rdfs:domain <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ; + rdfs:label "has geometry"@en . +# +# http://www.opengis.net/ont/geosparql#sfContains + +<http://www.opengis.net/ont/geosparql#sfContains> a owl:ObjectProperty ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> , <http://www.opengis.net/spec/geosparql/1.0> ; + rdfs:label "contains"@en . +# +# http://www.opengis.net/ont/geosparql#sfWithin + +<http://www.opengis.net/ont/geosparql#sfWithin> a owl:ObjectProperty ; + rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> , <http://www.opengis.net/spec/geosparql/1.0> ; + rdfs:label "within"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> a owl:ObjectProperty . +# +# http://www.w3.org/ns/sosa/hosts + +<http://www.w3.org/ns/sosa/hosts> a owl:ObjectProperty ; + owl:inverseOf <http://www.w3.org/ns/sosa/isHostedBy> ; + rdfs:comment "Relation between a platform and the systems it hosts."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "host"@en . +# +# http://www.w3.org/ns/sosa/isHostedBy + +<http://www.w3.org/ns/sosa/isHostedBy> a owl:ObjectProperty ; + rdfs:comment "Relation between a system and its hosting platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "is hosted by"@en . +# +# http://www.w3.org/ns/ssn/deployedOnPlatform + +<http://www.w3.org/ns/ssn/deployedOnPlatform> a owl:ObjectProperty ; + owl:inverseOf <http://www.w3.org/ns/ssn/inDeployment> ; + rdfs:comment "Relation between a deployment and the platform(s) involved in the deployment."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed on platform"@en . +# +# http://www.w3.org/ns/ssn/deployedSystem + +<http://www.w3.org/ns/ssn/deployedSystem> a owl:ObjectProperty ; + owl:inverseOf <http://www.w3.org/ns/ssn/hasDeployment> ; + rdfs:comment "Relation between a deployment and the system deployed."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "deployed system"@en . +# +# http://www.w3.org/ns/ssn/hasDeployment + +<http://www.w3.org/ns/ssn/hasDeployment> a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has deployment"@en . +# +# http://www.w3.org/ns/ssn/hasSubSystem + +<http://www.w3.org/ns/ssn/hasSubSystem> a owl:ObjectProperty ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "has subsystem"@en . +# +# http://www.w3.org/ns/ssn/inDeployment + +<http://www.w3.org/ns/ssn/inDeployment> a owl:ObjectProperty ; + rdfs:comment "Relation between a platform and the deployment(s) that takes place in the platform."@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "in deployment"@en . +# +# http://xmlns.com/foaf/0.1/member + +<http://xmlns.com/foaf/0.1/member> a owl:ObjectProperty ; + rdfs:label "member"@en . +# +# https://saref.etsi.org/saref4agri#contains + +s4agri:contains a owl:ObjectProperty ; + rdfs:subPropertyOf <http://www.opengis.net/ont/geosparql#sfContains> ; + owl:inverseOf s4agri:isContainedIn . +# +# https://saref.etsi.org/saref4agri#generates + +s4agri:generates a owl:ObjectProperty ; + rdfs:subPropertyOf saref:hasProperty ; + rdfs:comment "A relation to represent the yield generated by a Crop." ; + rdfs:label "generates"@en . +# +# https://saref.etsi.org/saref4agri#hasDeploymentPeriod + +s4agri:hasDeploymentPeriod a owl:ObjectProperty ; + rdfs:comment "Relation to indicate the temporal duration or period of a deployment."@en , "has deployment period"@en ; + rdfs:label "has deployment period"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasID + +s4agri:hasID a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty ; + rdfs:range s4agri:ID ; + rdfs:comment "A relation to express the unique identifier of an animal." ; + rdfs:label "has id"@en . +# +# https://saref.etsi.org/saref4agri#hasMember + +s4agri:hasMember a owl:ObjectProperty ; + owl:inverseOf s4agri:isMemberOf ; + rdfs:comment "A relation to represent the members of an AnimalGroup." ; + rdfs:label "has member"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasReceived + +s4agri:hasReceived a owl:ObjectProperty ; + owl:inverseOf s4agri:receives ; + rdfs:label "has received"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isContainedIn + +s4agri:isContainedIn a owl:ObjectProperty ; + rdfs:label "is contained in"@en . +# +# https://saref.etsi.org/saref4agri#isDeployedAtSpace + +s4agri:isDeployedAtSpace a owl:ObjectProperty ; + rdfs:comment "Relation to indicate the geographical componet of a deployment."@en , "is deployed at space"@en ; + rdfs:label "is deployed at space"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isLocatedIn + +s4agri:isLocatedIn a owl:ObjectProperty ; + owl:inverseOf s4agri:isLocationOf ; + rdfs:comment "A relation to express the physical location of a saref4agri entity (e.g., an animal)" ; + rdfs:label "is located in"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isLocationOf + +s4agri:isLocationOf a owl:ObjectProperty ; + rdfs:label "is location of"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#isMemberOf + +s4agri:isMemberOf a owl:ObjectProperty ; + rdfs:comment "A relation to express that an animal can be part of groups." ; + rdfs:label "is member of"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#managesFarm + +s4agri:managesFarm a owl:ObjectProperty ; + rdfs:label "manages farm"@en . +# +# https://saref.etsi.org/saref4agri#receives + +s4agri:receives a owl:ObjectProperty ; + rdfs:subPropertyOf saref:hasProperty ; + rdfs:comment "A relation to represent the intake/consumption of certain substances in a Crop." ; + rdfs:label "receives"^^xsd:string . +# +# https://w3id.org/saref#accomplishes + +saref:accomplishes a owl:ObjectProperty ; + owl:inverseOf saref:isAccomplishedBy ; + rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "accomplishes"^^xsd:string . +# +# https://w3id.org/saref#actsUpon + +saref:actsUpon a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a state"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "acts upon"^^xsd:string . +# +# https://w3id.org/saref#controlsProperty + +saref:controlsProperty a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "controls property"@en . +# +# https://w3id.org/saref#hasCommand + +saref:hasCommand a owl:ObjectProperty ; + owl:inverseOf saref:isCommandOf ; + rdfs:comment "A relationship between an entity (such as a function) and a command"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has command"^^xsd:string . +# +# https://w3id.org/saref#hasFeatureOfInterest + +saref:hasFeatureOfInterest a owl:ObjectProperty ; + owl:inverseOf saref:isFeatureOfInterestOf ; + rdfs:comment "Relation between a measurement and the feature of interest being measured."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has feature of interest"@en . +# +# https://w3id.org/saref#hasFunction + +saref:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the type of function of a device"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has function"^^xsd:string . +# +# https://w3id.org/saref#hasProperty + +saref:hasProperty a owl:ObjectProperty ; + owl:inverseOf saref:isPropertyOf ; + rdfs:comment "Relation between a feature of interest and its properties."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has property"@en . +# +# https://w3id.org/saref#hasState + +saref:hasState a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has state"@en . +# +# https://w3id.org/saref#isAccomplishedBy + +saref:isAccomplishedBy a owl:ObjectProperty ; + rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "is accomplished by"^^xsd:string . +# +# https://w3id.org/saref#isCommandOf + +saref:isCommandOf a owl:ObjectProperty ; + rdfs:comment "A relationship between a command and a function."^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "is command of"^^xsd:string . +# +# https://w3id.org/saref#isControlledByDevice + +saref:isControlledByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is controlled by device"@en . +# +# https://w3id.org/saref#isFeatureOfInterestOf + +saref:isFeatureOfInterestOf a owl:ObjectProperty ; + rdfs:comment "Relation betwwen a feature of interest and the measurments that are about it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is feature of interest of"@en . +# +# https://w3id.org/saref#isMeasuredByDevice + +saref:isMeasuredByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured by device"@en . +# +# https://w3id.org/saref#isMeasuredIn + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured in"@en . +# +# https://w3id.org/saref#isPropertyOf + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:comment "Relation between a property and a feature of interest in which such property appears."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "is property of"@en . +# +# https://w3id.org/saref#makesMeasurement + +saref:makesMeasurement a owl:ObjectProperty ; + owl:inverseOf saref:measurementMadeBy ; + rdfs:isDefinedBy saref: ; + rdfs:label "makes measurement"@en . +# +# https://w3id.org/saref#measurementMadeBy + +saref:measurementMadeBy a owl:ObjectProperty ; + rdfs:comment "Relation between a measurement and the device that made it."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "measurement made by"@en . +# +# https://w3id.org/saref#measuresProperty + +saref:measuresProperty a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "measures property"@en . +# +# https://w3id.org/saref#relatesToMeasurement + +saref:relatesToMeasurement a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to measurement"@en . +# +# https://w3id.org/saref#relatesToProperty + +saref:relatesToProperty a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to property"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4agri#hasBirthDate + +s4agri:hasBirthDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the birth date of an animal." ; + rdfs:label "has birth date"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasDeathDate + +s4agri:hasDeathDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the death date of an animal." ; + rdfs:label "has death date"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#hasHarvestDate + +s4agri:hasHarvestDate a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the day the crop is harvested." ; + rdfs:label "has harvest date" . +# +# https://saref.etsi.org/saref4agri#hasName + +s4agri:hasName a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:label "A relation to express the name of an entity (e.g.,animal)." , "has name" . +# +# https://saref.etsi.org/saref4agri#hasPlantDate + +s4agri:hasPlantDate a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relation to express the day the crop is planted." ; + rdfs:label "has plant date" . +# +# https://w3id.org/saref#hasDescription + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . +# +# https://w3id.org/saref#hasManufacturer + +saref:hasManufacturer a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer"^^xsd:string . +# +# https://w3id.org/saref#hasModel + +saref:hasModel a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship identifying the model of an entity (e.g., device)"^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "has model"^^xsd:string . +# +# https://w3id.org/saref#hasName + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . +# +# https://w3id.org/saref#hasTimestamp + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has timestamp"@en . +# +# https://w3id.org/saref#hasValue + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# http://purl.obolibrary.org/obo/TAXRANK_0000000 + +<http://purl.obolibrary.org/obo/TAXRANK_0000000> a owl:Class ; + rdfs:label "Taxon rank"@en . +# +# http://www.opengis.net/ont/geosparql#Feature + +<http://www.opengis.net/ont/geosparql#Feature> a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> , _:genid1 . + +_:genid1 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> . + +<http://www.opengis.net/ont/geosparql#Feature> owl:disjointWith <http://www.opengis.net/ont/geosparql#Geometry> ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156s4agri:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> , <http://www.opengis.net/ont/gml> ; + rdfs:label "Feature"@en . +# +# http://www.opengis.net/ont/geosparql#Geometry + +<http://www.opengis.net/ont/geosparql#Geometry> a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en . +# +# http://www.opengis.net/ont/geosparql#SpatialObject + +<http://www.opengis.net/ont/geosparql#SpatialObject> a owl:Class ; + rdfs:subClassOf _:genid2 . + +_:genid2 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:subClassOf _:genid3 . + +_:genid3 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfContains> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:subClassOf _:genid4 . + +_:genid4 a owl:Restriction ; + owl:onProperty <http://www.opengis.net/ont/geosparql#sfWithin> ; + owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:subClassOf _:genid5 . + +_:genid5 a owl:Restriction ; + owl:onProperty <http://www.w3.org/2003/01/geo/wgs84_pos#location> ; + owl:allValuesFrom <http://www.w3.org/2003/01/geo/wgs84_pos#Point> . + +<http://www.opengis.net/ont/geosparql#SpatialObject> rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#Point + +<http://www.w3.org/2003/01/geo/wgs84_pos#Point> a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> ; + rdfs:comment """ +Uniquely identified by lat/long/alt. i.e. + +spaciallyIntersects(P1, P2) s4agri:- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), + lat(P2, LAT), long(P2, LONG), alt(P2, ALT). + +sameThing(P1, P2) s4agri:- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2). + """ , "A point, typically described using a coordinate system relative to Earth, such as WGS84." ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "Point"@en . +# +# http://www.w3.org/2006/time#Instant + +<http://www.w3.org/2006/time#Instant> a owl:Class ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Instant"@en . +# +# http://www.w3.org/2006/time#Interval + +<http://www.w3.org/2006/time#Interval> a owl:Class ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; + rdfs:comment "A temporal entity with an extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Time interval"@en . +# +# http://www.w3.org/2006/time#TemporalEntity + +<http://www.w3.org/2006/time#TemporalEntity> a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Temporal entity"@en . +# +# http://www.w3.org/ns/sosa/Platform + +<http://www.w3.org/ns/sosa/Platform> a owl:Class ; + rdfs:comment "A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ; + rdfs:label "Platform"@en . +# +# http://www.w3.org/ns/ssn/Deployment + +<http://www.w3.org/ns/ssn/Deployment> a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "Deployment"@en . +# +# http://www.w3.org/ns/ssn/System + +<http://www.w3.org/ns/ssn/System> a owl:Class ; + 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. (Definition taken from http://www.w3.org/ns/ssn/System)"@en ; + rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ; + rdfs:label "System"@en . +# +# http://xmlns.com/foaf/0.1/Agent + +<http://xmlns.com/foaf/0.1/Agent> a owl:Class ; + rdfs:subClassOf _:genid6 . + +_:genid6 a owl:Restriction ; + owl:onProperty <http://xmlns.com/foaf/0.1/member> ; + owl:someValuesFrom <http://xmlns.com/foaf/0.1/Agent> . + +<http://xmlns.com/foaf/0.1/Agent> rdfs:label "Agent"@en . +# +# http://xmlns.com/foaf/0.1/Person + +<http://xmlns.com/foaf/0.1/Person> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:label "Person"@en . +# +# https://schema.org/Organization + +<https://schema.org/Organization> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:label "Organization"@en . +# +# https://saref.etsi.org/saref4agri#AirTemperature + +s4agri:AirTemperature a owl:Class ; + rdfs:subClassOf saref:Temperature . +# +# https://saref.etsi.org/saref4agri#AmbientHumidity + +s4agri:AmbientHumidity a owl:Class ; + rdfs:subClassOf saref:Humidity . +# +# https://saref.etsi.org/saref4agri#Animal + +s4agri:Animal a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , _:genid7 . + +_:genid7 a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> . + +s4agri:Animal rdfs:subClassOf _:genid8 . + +_:genid8 a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> . + +s4agri:Animal rdfs:subClassOf _:genid9 . + +_:genid9 a owl:Restriction ; + owl:onProperty s4agri:isMemberOf ; + owl:someValuesFrom s4agri:AnimalGroup . + +s4agri:Animal rdfs:subClassOf _:genid10 . + +_:genid10 a owl:Restriction ; + owl:onProperty s4agri:hasID ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4agri:ID . + +s4agri:Animal rdfs:subClassOf _:genid11 . + +_:genid11 a owl:Restriction ; + owl:onProperty s4agri:hasBirthDate ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime . + +s4agri:Animal rdfs:subClassOf _:genid12 . + +_:genid12 a owl:Restriction ; + owl:onProperty s4agri:hasDeathDate ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime . + +s4agri:Animal rdfs:subClassOf _:genid13 . + +_:genid13 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string . + +s4agri:Animal rdfs:comment "An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli."@en ; + rdfs:label "Animal"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#AnimalGroup + +s4agri:AnimalGroup a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , _:genid14 . + +_:genid14 a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield . + +s4agri:AnimalGroup rdfs:subClassOf _:genid15 . + +_:genid15 a owl:Restriction ; + owl:onProperty s4agri:hasMember ; + owl:someValuesFrom s4agri:Animal . + +s4agri:AnimalGroup rdfs:subClassOf _:genid16 . + +_:genid16 a owl:Restriction ; + owl:onProperty s4agri:isLocatedIn ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature> . + +s4agri:AnimalGroup rdfs:subClassOf _:genid17 . + +_:genid17 a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake . + +s4agri:AnimalGroup rdfs:subClassOf _:genid18 . + +_:genid18 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string . + +s4agri:AnimalGroup rdfs:comment "A collection of one or multiple animals."@en ; + rdfs:label "Animal Group"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Building + +s4agri:Building a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , _:genid19 . + +_:genid19 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:BuildingSpace . + +s4agri:Building rdfs:subClassOf _:genid20 . + +_:genid20 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + +s4agri:Building rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#BuildingSpace + +s4agri:BuildingSpace a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ; + rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en . +# +# https://saref.etsi.org/saref4agri#Crop + +s4agri:Crop a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , _:genid21 . + +_:genid21 a owl:Restriction ; + owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ; + owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000> . + +s4agri:Crop rdfs:subClassOf _:genid22 . + +_:genid22 a owl:Restriction ; + owl:onProperty s4agri:generates ; + owl:someValuesFrom s4agri:Yield . + +s4agri:Crop rdfs:subClassOf _:genid23 . + +_:genid23 a owl:Restriction ; + owl:onProperty s4agri:receives ; + owl:someValuesFrom s4agri:Intake . + +s4agri:Crop rdfs:subClassOf _:genid24 . + +_:genid24 a owl:Restriction ; + owl:onProperty s4agri:hasHarvestDate ; + owl:someValuesFrom xsd:dateTime . + +s4agri:Crop rdfs:subClassOf _:genid25 . + +_:genid25 a owl:Restriction ; + owl:onProperty s4agri:hasPlantDate ; + owl:someValuesFrom xsd:dateTime . + +s4agri:Crop rdfs:comment "A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable."@en ; + rdfs:label "Crop"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Deployment + +s4agri:Deployment a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/Deployment> , _:genid26 . + +_:genid26 a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedOnPlatform> ; + owl:someValuesFrom <http://www.w3.org/ns/sosa/Platform> . + +s4agri:Deployment rdfs:subClassOf _:genid27 . + +_:genid27 a owl:Restriction ; + owl:onProperty <http://www.w3.org/ns/ssn/deployedSystem> ; + owl:someValuesFrom <http://www.w3.org/ns/ssn/System> . + +s4agri:Deployment rdfs:subClassOf _:genid28 . + +_:genid28 a owl:Restriction ; + owl:onProperty s4agri:hasDeploymentPeriod ; + owl:someValuesFrom <http://www.w3.org/2006/time#TemporalEntity> . + +s4agri:Deployment rdfs:subClassOf _:genid29 . + +_:genid29 a owl:Restriction ; + owl:onProperty s4agri:isDeployedAtSpace ; + owl:someValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject> . + +s4agri:Deployment rdfs:comment "Deployment"@en , "The scenario, including temporal and spatial information, in which the systems and devices are installed."@en ; + rdfs:label "Deployment"@en . +# +# https://saref.etsi.org/saref4agri#EatingActivitySensor + +s4agri:EatingActivitySensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Eating activity sensor"@en . +# +# https://saref.etsi.org/saref4agri#Farm + +s4agri:Farm a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , _:genid30 . + +_:genid30 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Building . + +s4agri:Farm rdfs:subClassOf _:genid31 . + +_:genid31 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Parcel . + +s4agri:Farm rdfs:subClassOf _:genid32 . + +_:genid32 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + +s4agri:Farm rdfs:comment "A plot of land used for the scope of farming which can contain buildings and parcels."@en ; + rdfs:label "Farm"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#FarmHolding + +s4agri:FarmHolding a owl:Class ; + rdfs:subClassOf <https://schema.org/Organization> , _:genid33 . + +_:genid33 a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm . + +s4agri:FarmHolding rdfs:subClassOf _:genid34 . + +_:genid34 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:allValuesFrom xsd:string . + +s4agri:FarmHolding rdfs:comment "A class to decsribe a saref4agri farm holding as subcass of an org:Organization" ; + rdfs:label "Farm holding"@en . +# +# https://saref.etsi.org/saref4agri#Farmer + +s4agri:Farmer a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Person> , _:genid35 . + +_:genid35 a owl:Restriction ; + owl:onProperty s4agri:managesFarm ; + owl:someValuesFrom s4agri:Farm . + +s4agri:Farmer rdfs:subClassOf _:genid36 . + +_:genid36 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:allValuesFrom xsd:string . + +s4agri:Farmer rdfs:comment "A class to decsribe a saref4agri farmer as subcass of a foaf:Person" ; + rdfs:label "Farmer"@en . +# +# https://saref.etsi.org/saref4agri#ID + +s4agri:ID a owl:Class ; + rdfs:label "ID"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Intake + +s4agri:Intake a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:isDefinedBy "The amount of food or other substance taken into the body of an animal or into the soil."@en ; + rdfs:label "Intake"@en . +# +# https://saref.etsi.org/saref4agri#IrrigationWater + +s4agri:IrrigationWater a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#MilkingSensor + +s4agri:MilkingSensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Milking sensor"@en . +# +# https://saref.etsi.org/saref4agri#MovementActivitySensor + +s4agri:MovementActivitySensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Movement activity sensor"@en . +# +# https://saref.etsi.org/saref4agri#Parcel + +s4agri:Parcel a owl:Class ; + rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> , _:genid37 . + +_:genid37 a owl:Restriction ; + owl:onProperty s4agri:contains ; + owl:someValuesFrom s4agri:Crop . + +s4agri:Parcel rdfs:subClassOf _:genid38 . + +_:genid38 a owl:Restriction ; + owl:onProperty s4agri:hasName ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string . + +s4agri:Parcel rdfs:comment "An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items."@en ; + rdfs:label "Parcel"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#PlantGrowthStage + +s4agri:PlantGrowthStage a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#Platform + +s4agri:Platform a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/sosa/Platform> ; + rdfs:label "Platform"^^xsd:string . +# +# https://saref.etsi.org/saref4agri#Pluviometer + +s4agri:Pluviometer a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:comment "A sensor that measures the rain fall."@en ; + rdfs:label "Pluviometer"@en . +# +# https://saref.etsi.org/saref4agri#Precipitation + +s4agri:Precipitation a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#Soil + +s4agri:Soil a owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:comment "Upper layer of the earth in which plants grow." ; + rdfs:label "Soil" . +# +# https://saref.etsi.org/saref4agri#SoilMoisture + +s4agri:SoilMoisture a owl:Class ; + rdfs:subClassOf saref:Property . +# +# https://saref.etsi.org/saref4agri#SoilTemperature + +s4agri:SoilTemperature a owl:Class ; + rdfs:subClassOf saref:Temperature . +# +# https://saref.etsi.org/saref4agri#SoilTensiometer + +s4agri:SoilTensiometer a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:comment "A sensor that measures the soil moisture."@en ; + rdfs:label "Soil tensiometer"@en . +# +# https://saref.etsi.org/saref4agri#Thermometer + +s4agri:Thermometer a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Thermometer"@en . +# +# https://saref.etsi.org/saref4agri#WateringGun + +s4agri:WateringGun a owl:Class ; + rdfs:subClassOf saref:Actuator ; + rdfs:comment "An actuator to irrigate an space."@en ; + rdfs:label "Watering gun"@en . +# +# https://saref.etsi.org/saref4agri#WateringSystem + +s4agri:WateringSystem a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ; + rdfs:label "Watering system"@en . +# +# https://saref.etsi.org/saref4agri#WateringValve + +s4agri:WateringValve a owl:Class ; + rdfs:subClassOf saref:Actuator ; + rdfs:label "Watering valve"@en . +# +# https://saref.etsi.org/saref4agri#WeatherStation + +s4agri:WeatherStation a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> , saref:Sensor ; + rdfs:comment "A sensor o system that measure weather conditions."@en ; + rdfs:label "Weather station"@en . +# +# https://saref.etsi.org/saref4agri#WeightSensor + +s4agri:WeightSensor a owl:Class ; + rdfs:subClassOf saref:Sensor ; + rdfs:label "Weight sensor"@en . +# +# https://saref.etsi.org/saref4agri#Yield + +s4agri:Yield a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:isDefinedBy "The produced amount of food for animals or of agricultural products."@en ; + rdfs:label "Yield"@en . +# +# https://w3id.org/saref#Actuator + +saref:Actuator a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en . +# +# https://w3id.org/saref#Command + +saref:Command a owl:Class ; + rdfs:subClassOf _:genid39 . + +_:genid39 a owl:Restriction ; + owl:onProperty saref:actsUpon ; + owl:allValuesFrom saref:State . + +saref:Command rdfs:subClassOf _:genid40 . + +_:genid40 a owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Function . + +saref:Command rdfs:subClassOf _:genid41 . + +_:genid41 a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger . + +saref:Command rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Command"^^xsd:string . +# +# https://w3id.org/saref#Device + +saref:Device a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en . +# +# https://w3id.org/saref#FeatureOfInterest + +saref:FeatureOfInterest a owl:Class ; + rdfs:subClassOf _:genid42 . + +_:genid42 a owl:Restriction ; + owl:onProperty saref:hasProperty ; + owl:allValuesFrom saref:Property . + +saref:FeatureOfInterest rdfs:subClassOf _:genid43 . + +_:genid43 a owl:Restriction ; + owl:onProperty saref:isFeatureOfInterestOf ; + owl:allValuesFrom saref:Measurement . + +saref:FeatureOfInterest rdfs:comment saref: ; + rdfs:label "Feature of interest"@en . +# +# https://w3id.org/saref#Function + +saref:Function a owl:Class ; + rdfs:subClassOf _:genid44 . + +_:genid44 a owl:Restriction ; + owl:onProperty saref:hasCommand ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Command . + +saref:Function rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. "^^xsd:string ; + rdfs:label "Function"^^xsd:string . +# +# https://w3id.org/saref#Humidity + +saref:Humidity a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit"^^xsd:string ; + rdfs:label "Humidity"^^xsd:string , "Humidiy"@en . +# +# https://w3id.org/saref#Measurement + +saref:Measurement a owl:Class ; + rdfs:subClassOf _:genid45 . + +_:genid45 a owl:Restriction ; + owl:onProperty saref:hasFeatureOfInterest ; + owl:allValuesFrom saref:FeatureOfInterest . + +saref:Measurement rdfs:subClassOf _:genid46 . + +_:genid46 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid47 . + +_:genid47 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property . + +saref:Measurement rdfs:subClassOf _:genid48 . + +_:genid48 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid49 . + +_:genid49 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property . + +saref:Measurement rdfs:subClassOf _:genid50 . + +_:genid50 a owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime . + +saref:Measurement rdfs:subClassOf _:genid51 . + +_:genid51 a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger . + +saref:Measurement rdfs:subClassOf _:genid52 . + +_:genid52 a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float . + +saref:Measurement owl:disjointWith saref:Property , saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Measurement"@en . +# +# https://w3id.org/saref#Property + +saref:Property a owl:Class ; + rdfs:subClassOf _:genid53 . + +_:genid53 a owl:Restriction ; + owl:onProperty saref:isControlledByDevice ; + owl:allValuesFrom saref:Device . + +saref:Property rdfs:subClassOf _:genid54 . + +_:genid54 a owl:Restriction ; + owl:onProperty saref:isMeasuredByDevice ; + owl:allValuesFrom saref:Device . + +saref:Property rdfs:subClassOf _:genid55 . + +_:genid55 a owl:Restriction ; + owl:onProperty saref:isPropertyOf ; + owl:allValuesFrom saref:FeatureOfInterest . + +saref:Property rdfs:subClassOf _:genid56 . + +_:genid56 a owl:Restriction ; + owl:onProperty saref:relatesToMeasurement ; + owl:allValuesFrom saref:Measurement . + +saref:Property owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en , "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:isDefinedBy saref: ; + rdfs:label "Property"@en , "Property"^^xsd:string . +# +# https://w3id.org/saref#Sensor + +saref:Sensor a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en . +# +# https://w3id.org/saref#State + +saref:State a owl:Class ; + rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "State"^^xsd:string . +# +# https://w3id.org/saref#Task + +saref:Task a owl:Class ; + rdfs:subClassOf _:genid57 . + +_:genid57 a owl:Restriction ; + owl:onProperty saref:isAccomplishedBy ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Device . + +saref:Task rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Task"^^xsd:string . +# +# https://w3id.org/saref#Temperature + +saref:Temperature a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)"^^xsd:string ; + rdfs:label "Temperature"@en , "Temperature"^^xsd:string . +# +# https://w3id.org/saref#Time + +saref:Time a owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology."^^xsd:string ; + rdfs:label "Time"^^xsd:string . +# +# https://w3id.org/saref#UnitOfMeasure + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."^^xsd:string , "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> , saref: ; + rdfs:label "Unit of measure"@en . +# +# +# +# ################################################################# +# # +# # Individuals +# # +# ################################################################# +# +# +# http://dbpedia.org/resource/DBM + +<http://dbpedia.org/resource/DBM> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "decibel-milliwatts"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius + +<http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "degree Celsius"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/millibar + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millibar> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "millibar"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "millimetre"@en . +# +# http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt + +<http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt> a owl:NamedIndividual , saref:UnitOfMeasure ; + rdfs:label "millivolt"@en . +# +# https://saref.etsi.org/saref4agri#AirTemperature + +s4agri:AirTemperature a owl:NamedIndividual , saref:Temperature . +# +# https://saref.etsi.org/saref4agri#AmbientHumidity + +s4agri:AmbientHumidity a owl:NamedIndividual , saref:Humidity . +# +# https://saref.etsi.org/saref4agri#IrrigationWater + +s4agri:IrrigationWater a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#PlantGrowthStage + +s4agri:PlantGrowthStage a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#Precipitation + +s4agri:Precipitation a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#SoilMoisture + +s4agri:SoilMoisture a owl:NamedIndividual , saref:Property . +# +# https://saref.etsi.org/saref4agri#SoilTemperature + +s4agri:SoilTemperature a owl:NamedIndividual , saref:Temperature . +# +# +# +# ################################################################# +# # +# # Annotations +# # +# ################################################################# +# +# + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> rdfs:comment """The relation between something and the point, + or other geometrical thing in space, where it is. For example, the realtionship between + a radio tower and a Point with a given lat and long. + Or a relationship between a park and its outline as a closed arc of points, or a road and + its location as a arc (a sequence of points). + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect + an accuracy appropriate for the size of the object and uses such as mapping . + """ ; + rdfs:label "location"@en . +# + +s4agri:AirTemperature rdfs:comment "The degree or intensity of heat present in the air." ; + rdfs:label "Air temperature"@en . +# + +s4agri:AmbientHumidity rdfs:label "Ambient huidity"@en , "Ambient humidity"@en ; + rdfs:comment "The amount of water vapour in the air." . +# + +s4agri:IrrigationWater rdfs:comment "The amount of water falling in the soil by irrigation methods." ; + rdfs:label "Irrigation water"@en . +# + +s4agri:PlantGrowthStage rdfs:comment "The level or stage of growth of the plant." ; + rdfs:label "Plant growth stage"@en . +# + +s4agri:Precipitation rdfs:comment "The amount of water falling in the soil by natural process (e.g. rain)." ; + rdfs:label "Precipitation"@en . +# + +s4agri:SoilMoisture rdfs:label "Soil moisture"@en ; + rdfs:comment "The amount of water or humidity contained in the soil." . +# + +s4agri:SoilTemperature rdfs:comment "The degree or intensity of heat present in the soil." ; + rdfs:label "Soil temperature"@en . +# +# Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4bldg/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.html b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.html new file mode 100644 index 0000000000000000000000000000000000000000..33f248563e6384167127705753ade861e2d73058 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF extension for building devices</h1> + <p><strong>Official ETSI documentation for SAREF4BLDG v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4BLDG ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4BLDG v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4bldg.ttl">Turtle</a> or <a href="./saref4bldg.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4bldg#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.n3 b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.n3 new file mode 100644 index 0000000000000000000000000000000000000000..040d1f29be217ee606ed0343347ba934caca0059 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.n3 @@ -0,0 +1,3127 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix prov: <http://www.w3.org/ns/prov#> . + +s4bldg:frameType a owl:DatatypeProperty ; + rdfs:comment "The type of frame used by the damper (e.g., Standard, Single Flange, Single Reversed Flange, Double Flange, etc.)."@en ; + rdfs:label "frame type"@en ; + rdfs:range xsd:string . + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> + a owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "location"@en . + +s4bldg:heatTransferSurfaceArea + a owl:ObjectProperty ; + rdfs:comment "Total heat transfer area of the vessel. Usually measured in square metre (m2)."@en ; + rdfs:label "heat transfer surface area"@en . + +s4bldg:idealShaftPower + a owl:ObjectProperty ; + rdfs:comment "Compressor shaft power under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal shaft power"@en . + +s4bldg:capacityControl + a owl:DatatypeProperty ; + rdfs:comment "FanCycling: Fan is cycled on and off to control duty. TwoSpeedFan: Fan is switched between low and high speed to control duty. VariableSpeedFan: Fan speed is varied to control duty. DampersControl: Dampers modulate the air flow to control duty. BypassValveControl: Bypass valve modulates the water flow to control duty. MultipleSeriesPumps: Turn on/off multiple series pump to control duty. TwoSpeedPump: Switch between high/low pump speed to control duty. VariableSpeedPump: vary pump speed to control duty."@en ; + rdfs:label "capacity control"@en ; + rdfs:range xsd:string . + +s4bldg:bladeThickness + a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper blade. Usually measured in millimeters (mm)."@en ; + rdfs:label "blade thickness"@en . + +s4bldg:hasExteriorInsulation + a owl:DatatypeProperty ; + rdfs:comment "TRUE if the silencer has exterior insulation. FALSE if it does not."@en ; + rdfs:label "has exterior insulation"@en ; + rdfs:range xsd:boolean . + +s4bldg:ElectricMotor a owl:Class ; + rdfs:comment "An electric motor is an engine that is a machine for converting electrical energy into mechanical energy."@en ; + rdfs:label "Electric motor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricMotor" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:teTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:lockedRotorCurrent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasPartWinding + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:frameSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:motorEnclosureType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:startCurrentFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:electricMotorEfficiency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:powerOutputMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isGuarded + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:startingTime + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricmotortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricmotor.htm> . + +s4bldg:limitingTerminalSize + a owl:ObjectProperty ; + rdfs:comment "The maximum terminal size capacity of the device. Usually measured in square metre (m2)."@en ; + rdfs:label "limiting terminal size"@en . + +s4bldg:roughness a owl:DatatypeProperty ; + rdfs:comment "A measure of the vertical deviations of the surface."@en ; + rdfs:label "roughness"@en ; + rdfs:range xsd:string . + +s4bldg:colorRenderingIndex + a owl:DatatypeProperty ; + rdfs:comment "The CRI indicates how well a light source renders eight standard colors compared to perfect reference lamp with the same color temperature. The CRI scale ranges from 1 to 100, with 100 representing perfect rendering properties."@en ; + rdfs:label "color rendering index"@en ; + rdfs:range xsd:integer . + +s4bldg:imaginaryImpedanceRatio + a owl:ObjectProperty ; + rdfs:comment "The ratio between the imaginary part of the zero sequence impedance and the imaginary part of the positive impedance (i.e. imaginary part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "imaginary impedance ratio"@en . + +s4bldg:coverWidth a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover width"@en . + +s4bldg:height a owl:ObjectProperty ; + rdfs:comment "Height of the vibration isolator before tha application of load. Usually measured in millimeters (mm)."@en ; + rdfs:label "height"@en . + +s4bldg:thermalTransmittance + a owl:ObjectProperty ; + rdfs:comment "Rate at which energy is transmitted through a body. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "thermal transmittance"@en . + +s4bldg:DuctSilencer a owl:Class ; + rdfs:comment "A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device."@en ; + rdfs:label "Duct silencer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDuctSilencer" ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasExteriorInsulation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:weight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:length + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:hydraulicDiameter + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_ductsilencertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcductsilencer.htm> . + +s4bldg:UnitaryControlElement + a owl:Class ; + rdfs:comment "A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat.\n\nA unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location."@en ; + rdfs:label "Unitary control element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcUnitaryControlElement" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_unitarycontrolelementtypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcunitarycontrolelement.htm> . + +s4bldg:numberOfSections + a owl:DatatypeProperty ; + rdfs:comment "Number of sections used."@en ; + rdfs:label "number of sections"@en ; + rdfs:range xsd:integer . + +s4bldg:heatTransferDimension + a owl:DatatypeProperty ; + rdfs:comment "Indicates how heat is transmitted according to the shape of the space heater."@en ; + rdfs:label "heat transfer dimension"@en ; + rdfs:range xsd:string . + +s4bldg:DistributionDevice + a owl:Class ; + rdfs:comment "Generalization of all devices that participate in a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcdistributionelement.htm)"@en ; + rdfs:label "Distribution device"@en ; + rdfs:subClassOf s4bldg:BuildingDevice . + +s4bldg:nominalCoolingCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal cooling capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal cooling capacity"@en . + +s4bldg:placementType a owl:DatatypeProperty ; + rdfs:comment "Indicates how the device is designed to be placed."@en ; + rdfs:label "placement type"@en ; + rdfs:range xsd:string . + +s4bldg:bladeAction a owl:DatatypeProperty ; + rdfs:comment "Blade action."@en ; + rdfs:label "blade action"@en ; + rdfs:range xsd:string . + +s4bldg:ambientDesignDryBulbTemperature + a owl:ObjectProperty ; + rdfs:comment "Ambient design dry bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design dry bulb temperature"@en . + +s4bldg:bladeShape a owl:DatatypeProperty ; + rdfs:comment "Blade shape. Flat means triple V-groove."@en ; + rdfs:label "blade shape"@en ; + rdfs:range xsd:string . + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en . + +s4bldg:insideDiameter + a owl:ObjectProperty ; + rdfs:comment "Actual inner diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "inside diameter"@en . + +s4bldg:Pump a owl:Class ; + rdfs:comment "A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system."@en ; + rdfs:label "Pump"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcPump" ; + rdfs:subClassOf s4bldg:FlowMovingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:netPositiveSuctionHead + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:flowResistanceMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:connectionSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:pumpFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nomminalRotationSpeed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:flowResistanceMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:pumpFlowRateMax + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcpump.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_pumptypecommon.htm> . + +s4bldg:FlowController + a owl:Class ; + rdfs:comment "The distribution flow element FlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays."@en ; + rdfs:label "Flow controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowController" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowcontroller.htm> . + +s4bldg:waterInletTemperatureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . + +s4bldg:evaporationCoolant + a owl:DatatypeProperty ; + rdfs:comment "The fluid used for the coolant in the evaporator."@en ; + rdfs:label "evaporation coolant"@en ; + rdfs:range xsd:string . + +s4bldg:TubeBundle a owl:Class ; + rdfs:comment "A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil."@en ; + rdfs:label "Tube bundle"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTubeBundle" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:inLineRowSpacing + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfCircuits + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalConductivity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:volumen + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:horizontalSpacing + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasTurbulator + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:foulingFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:insideDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:length + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfRows + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:verticalSpacing + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outsideDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:staggeredRowSpacing + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tubebundletypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctubebundle.htm> . + +s4bldg:shadingDeviceType + a owl:DatatypeProperty ; + rdfs:comment "Specifies the type of shading device."@en ; + rdfs:label "shading device type"@en ; + rdfs:range xsd:string . + +s4bldg:lightEmitterNominalPower + a owl:ObjectProperty ; + rdfs:comment "Light emitter nominal power. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "light emitter nominal power"@en . + +s4bldg:Valve a owl:Class ; + rdfs:comment "A valve is used in a building services piping distribution system to control or modulate the flow of the fluid."@en ; + rdfs:label "Valve"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcValve" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:valvePattern + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:valveOperation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:testPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:flowCoefficient + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:size + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:closeOffRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:valveMechanism + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvalve.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_valvetypecommon.htm> . + +s4bldg:Interceptor a owl:Class ; + rdfs:comment "An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity."@en ; + rdfs:label "Interceptor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcInterceptor" ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outletConnectionSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:inletConnectionSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalBodyDepth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:ventilatingPipeSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalBodyLength + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coverLength + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalBodyWidth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coverWidth + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_interceptortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcinterceptor.htm> . + +s4bldg:standard a owl:DatatypeProperty ; + rdfs:comment "The designation of the standard applicable for the definition of the characteristics of the unit."@en ; + rdfs:label "standard"@en ; + rdfs:range xsd:string . + +s4bldg:finishColor a owl:DatatypeProperty ; + rdfs:comment "Finish color for cooled beam."@en ; + rdfs:label "finish color"@en ; + rdfs:range xsd:string . + +s4bldg:frameDepth a owl:ObjectProperty ; + rdfs:comment "The length (or depth) of the damper frame. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame depth"@en . + +s4bldg:numberOfBlades + a owl:DatatypeProperty ; + rdfs:comment "Number of blades."@en ; + rdfs:label "number of blades"@en ; + rdfs:range xsd:integer . + +s4bldg:nominalDiameter + a owl:ObjectProperty ; + rdfs:comment "Nominal diameter or width of the tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal diameter"@en . + +s4bldg:visibleLightReflectance + a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that is reflected by the glazing at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light reflectance"@en . + +s4bldg:volumen a owl:ObjectProperty ; + rdfs:comment "Total volume of fluid in the tubes and their headers. Usually measured in cubic metre (m3)."@en ; + rdfs:label "volumen"@en . + +s4bldg:isPluggableOutlet + a owl:DatatypeProperty ; + rdfs:comment "Indication of whether the outlet accepts a loose plug connection (= TRUE) or whether it is directly connected (= FALSE) or whether the form of connection has not yet been determined (= UNKNOWN)."@en ; + rdfs:label "is pluggable outlet"@en ; + rdfs:range xsd:boolean . + +s4bldg:nominalDepth a owl:ObjectProperty ; + rdfs:comment "The nominal depth of the tank. Note: Not required for a horizontal cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal depth"@en . + +s4bldg:Transformer a owl:Class ; + rdfs:comment "A transformer is an inductive stationary device that transfers electrical energy from one circuit to another.\n\nTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: Controller converts arbitrary signals, AudioVisualAppliance converts signals for audio or video streams, and CommunicationsAppliance converts signals for data or other communications usage."@en ; + rdfs:label "Transformer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransformer" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:apparentPowerMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isNeutralPrimaryTerminalAvailable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryCurrent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryFrequency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryApparentPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryCurrent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryApparentPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:imaginaryImpedanceRatio + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryFrequency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isNeutralSecondaryTerminalAvailable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:realImpedanceRatio + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:transformerVectorGroup + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryVoltage + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryVoltage + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:secondaryCurrentType + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifctransformer.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_transformertypecommon.htm> . + +s4bldg:nominalVolumetricCapacity + a owl:ObjectProperty ; + rdfs:comment "The total nominal or design volumetric capacity of the tank. Usually measured in cubic metre (m3)."@en ; + rdfs:label "nominal volumetric capacity"@en . + +s4bldg:outsideDiameter + a owl:ObjectProperty ; + rdfs:comment "Actual outside diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "outside diameter"@en . + +s4bldg:nominalLengthOrDiameter + a owl:ObjectProperty ; + rdfs:comment "The nominal length or, in the case of a vertical cylindrical tank, the nominal diameter of the tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal length or diameter"@en . + +s4bldg:nominalCondensingTemperature + a owl:ObjectProperty ; + rdfs:comment "Chiller condensing temperature. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal condensing temperature"@en . + +s4bldg:CooledBeam a owl:Class ; + rdfs:comment "A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again."@en ; + rdfs:label "Cooled beam"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCooledBeam" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coilWidth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatingCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:integratedLightingType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalWaterFlowHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterPressureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCoolingCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterPressureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalWaterFlowCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:waterFlowControlSystemType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSorroundingHumidityCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSorroundingTemperatureCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:finishColor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:pipeConnectionEnum + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSorroundingTemperatureHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isFreeHanging + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coilLength + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccooledbeam.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_cooledbeamtypecommon.htm> . + +s4bldg:numberOfPanels + a owl:DatatypeProperty ; + rdfs:comment "Number of panels."@en ; + rdfs:label "number of panels"@en ; + rdfs:range xsd:integer . + +s4bldg:nominalWaterFlowCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal cooling capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow cooling"@en . + +s4bldg:nominalSorroundingTemperatureCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature cooling"@en . + +s4bldg:flowResistanceMin + a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . + +s4bldg:Condenser a owl:Class ; + rdfs:comment "A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state."@en ; + rdfs:label "Condenser"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCondenser" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:refrigerantClass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalWaterVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalRefrigerantVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:externalSurfaceArea + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_condensertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccondenser.htm> . + +s4bldg:accessType a owl:DatatypeProperty ; + rdfs:comment "Defines the types of access (or cover) to a tank that may be specified. Note that covers are generally specified for rectangular tanks. For cylindrical tanks, access will normally be via a manhole."@en ; + rdfs:label "access type"@en ; + rdfs:range xsd:string . + +s4bldg:isNeutralSecondaryTerminalAvailable + a owl:DatatypeProperty ; + rdfs:comment "An indication of whether the neutral point of the secondary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral secondary terminal available"@en ; + rdfs:range xsd:boolean . + +s4bldg:secondaryAirFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . + +s4bldg:MedicalDevice a owl:Class ; + rdfs:comment "A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide."@en ; + rdfs:label "Medical device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcMedicalDevice" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_medicaldevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcmedicaldevice.htm> . + +s4bldg:hasTurbulator a owl:DatatypeProperty ; + rdfs:comment "TRUE if the tube has a turbulator, FALSE if it does not."@en ; + rdfs:label "has turbulator"@en ; + rdfs:range xsd:boolean . + +s4bldg:ElectricFlowStorageDevice + a owl:Class ; + rdfs:comment "An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released."@en ; + rdfs:label "Electric flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricFlowStorageDevice" ; + rdfs:subClassOf s4bldg:FlowStorageDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyVoltageMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalFrequency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyVoltage + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricflowstoragedevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricflowstoragedevice.htm> . + +s4bldg:teTime a owl:ObjectProperty ; + rdfs:comment "The maximum time (in s) at which the motor could run with locked rotor when the motor is used in an EX-environment. The time indicates that a protective device should trip before this time when the starting current of the motor is slowing through the device."@en ; + rdfs:label "te time"@en . + +s4bldg:firstCurvatureRadius + a owl:ObjectProperty ; + rdfs:comment "FirstCurvatureRadius should be defined as the base or left side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "first curvature radius"@en . + +s4bldg:isSpaceOf a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Relation between a building space and the building or building space it belongs to."@en ; + rdfs:label "isSpaceOf"@en . + +s4bldg:airFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Maximum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range max"@en . + +s4bldg:FireSuppressionTerminal + a owl:Class ; + rdfs:comment "A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire.\n\nA fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire."@en ; + rdfs:label "Fire suppression terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFireSuppressionTerminal" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_firesuppressionterminaltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcfiresuppressionterminal.htm> . + +s4bldg:Coil a owl:Class ; + rdfs:comment "A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface.\n\nCoils may also be used for non-airflow cases such as embedded in a floor slab."@en ; + rdfs:label "Coil"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoil" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalUa + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSensibleCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:placementType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalLatentCapacity + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coiltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoil.htm> . + +s4bldg:nominalAirFlowRate + a owl:ObjectProperty ; + rdfs:comment "Nominal rate of air flow. Usually measured in m3/s."@en ; + rdfs:label "nominal air flow rate"@en . + +s4bldg:primaryVoltage + a owl:ObjectProperty ; + rdfs:comment "The voltage that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "primary voltage"@en . + +s4bldg:numberOfCircuits + a owl:DatatypeProperty ; + rdfs:comment "Number of parallel fluid tube circuits."@en ; + rdfs:label "number of circuits"@en ; + rdfs:range xsd:integer . + +s4bldg:TransportElement + a owl:Class ; + rdfs:comment "A transport element is a generalization of all transport related objects that move people, animals or goods within a building or building complex. The TransportElement defines the occurrence of a transport element. "@en ; + rdfs:label "Transport element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransportElement" ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:fireExit + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:capacityWeight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:positiveInteger ; + owl:onProperty s4bldg:capacityPeople + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifctransportelement.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/pset/pset_transportelementcommon.htm> . + +s4bldg:colorTemperature + a owl:ObjectProperty ; + rdfs:comment "The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "color temperature"@en . + +s4bldg:spectrumMin a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "minimum spectrum"@en . + +s4bldg:numberOfCells a owl:DatatypeProperty ; + rdfs:comment "Number of cells in one cooling tower unit."@en ; + rdfs:label "number of cells"@en ; + rdfs:range xsd:integer . + +s4bldg:secondaryFrequency + a owl:ObjectProperty ; + rdfs:comment "The frequency that has been transformed and is running out of the transformer on the secondary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "secondary frequency"@en . + +s4bldg:SwitchingDevice + a owl:Class ; + rdfs:comment "A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity.\n\nSwitches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports."@en ; + rdfs:label "Switching device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSwitchingDevice" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:switchFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:legend + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isIlluminated + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfGangs + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasLock + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_switchingdevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcswitchingdevice.htm> . + +s4bldg:partLoadRatioMin + a owl:ObjectProperty ; + rdfs:comment "Minimum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "minimum part load ratio"@en . + +s4bldg:FlowTreatmentDevice + a owl:Class ; + rdfs:comment "The distribution flow element FlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system."@en ; + rdfs:label "Flow treatment device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTreatmentDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowtreatmentdevice.htm> . + +s4bldg:lockedRotorCurrent + a owl:ObjectProperty ; + rdfs:comment "Input current when a motor armature is energized but not rotating. Usually measured in Ampere (A)."@en ; + rdfs:label "locked rotor current"@en . + +s4bldg:capacityPeople + a owl:DatatypeProperty ; + rdfs:comment "Capacity of the transportation element measured in numbers of person."@en ; + rdfs:label "capacity people"@en ; + rdfs:range xsd:nonNegativeInteger . + +s4bldg:Building a owl:Class ; + rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building"@en ; + rdfs:seeAlso <https://w3id.org/ifc/IFC4_ADD1#IfcBuilding> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:BuildingSpace ; + owl:onProperty s4bldg:hasSpace + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcbuilding.htm> . + +s4bldg:bladeEdge a owl:DatatypeProperty ; + rdfs:comment "Blade edge."@en ; + rdfs:label "blade edge"@en ; + rdfs:range xsd:string . + +s4bldg:FlowMeter a owl:Class ; + rdfs:comment "A flow meter is a device that is used to measure the flow rate in a system."@en ; + rdfs:label "Flow meter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMeter" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:remoteReading + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:readOutType + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_flowmetertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcflowmeter.htm> . + +s4bldg:evaporationMediumType + a owl:DatatypeProperty ; + rdfs:comment "ColdLiquid: Evaporator is using liquid type of fluid to exchange heat with refrigerant. ColdAir: Evaporator is using air to exchange heat with refrigerant."@en ; + rdfs:label "evaporation medium type"@en ; + rdfs:range xsd:string . + +s4bldg:frameSize a owl:DatatypeProperty ; + rdfs:comment "Designation of the frame size according to the named range of frame sizes designated at the place of use or according to a given standard."@en ; + rdfs:label "frame size"@en ; + rdfs:range xsd:string . + +s4bldg:audioVolume a owl:ObjectProperty ; + rdfs:comment "Indicates discrete audio volume levels and corresponding sound power offsets, if applicable. Missing values may be interpolated. Measured in watts."@en ; + rdfs:label "audio volume"@en . + +s4bldg:finalResistance + a owl:ObjectProperty ; + rdfs:comment "Filter fluid resistance when replacement is required (i.e., Pressure drop at the maximum air flowrate across the filter when the filter needs replacement per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "final resistance"@en . + +s4bldg:nominalBodyWidth + a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the y-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body width"@en . + +s4bldg:sprayType a owl:DatatypeProperty ; + rdfs:comment "SprayFilled: Water is sprayed into airflow. SplashTypeFill: water cascades over successive rows of splash bars. FilmTypeFill: water flows in a thin layer over closely spaced sheets."@en ; + rdfs:label "spray type"@en ; + rdfs:range xsd:string . + +s4bldg:primaryAirFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Maximum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . + +s4bldg:compressorSpeed + a owl:ObjectProperty ; + rdfs:comment "Compressor speed. Usually measured in cycles/s."@en ; + rdfs:label "compressor speed"@en . + +s4bldg:isExternal a owl:DatatypeProperty ; + rdfs:comment "Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building."@en ; + rdfs:label "is external"@en ; + rdfs:range xsd:boolean . + +s4bldg:powerSource a owl:DatatypeProperty ; + rdfs:comment "Type of power driving the compressor."@en ; + rdfs:label "power source"@en ; + rdfs:range xsd:string . + +s4bldg:HeatExchanger a owl:Class ; + rdfs:comment "A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. HeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas AirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air)."@en ; + rdfs:label "Heat exchanger"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHeatExchanger" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:arrangement + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_heatexchangertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcheatexchanger.htm> . + +s4bldg:AudioVisualAppliance + a owl:Class ; + rdfs:comment "An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video.\n\nAudio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only."@en ; + rdfs:label "Audio visual appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAudioVisualApplicance" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:mediaSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:audioVolume + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_audiovisualappliancetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcaudiovisualappliance.htm> . + +s4bldg:thermalEfficiency + a owl:ObjectProperty ; + rdfs:comment "Overall Thermal Efficiency is defined as gross energy output of the heat transfer device divided by the energy input."@en ; + rdfs:label "thermal efficiency"@en . + +s4bldg:internalControl + a owl:DatatypeProperty ; + rdfs:comment "Internal modulation control."@en ; + rdfs:label "internal control"@en ; + rdfs:range xsd:string . + +s4bldg:valveOperation + a owl:DatatypeProperty ; + rdfs:comment "The method of valve operation where: DROPWEIGHT: A valve that is closed by the action of a weighted lever being released, the weight normally being prevented from dropping by being held by a wire, the closure normally being made by the action of heat on a fusible link in the wire FLOAT: A valve that is opened and closed by the action of a float that rises and falls with water level. The float may be a ball attached to a lever or other mechanism HYDRAULIC: A valve that is opened and closed by hydraulic actuation LEVER: A valve that is opened and closed by the action of a lever rotating the gate within the valve. LOCKSHIELD: A valve that requires the use of a special lockshield key for opening and closing, the operating mechanism being protected by a shroud during normal operation. MOTORIZED: A valve that is opened and closed by the action of an electric motor on an actuator PNEUMATIC: A valve that is opened and closed by pneumatic actuation SOLENOID: A valve that is normally held open by a magnetic field in a coil acting on the gate but that is closed immediately if the electrical current generating the magnetic field is removed. SPRING: A valve that is normally held in position by the pressure of a spring on a plate but that may be caused to open if the pressure of the fluid is sufficient to overcome the spring pressure. THERMOSTATIC: A valve in which the ports are opened or closed to maintain a required predetermined temperature. WHEEL: A valve that is opened and closed by the action of a wheel moving the gate within the valve."@en ; + rdfs:label "valve operation"@en ; + rdfs:range xsd:string . + +s4bldg:nominalSupplyVoltageMax + a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . + +s4bldg:nominalSupplyWaterTemperatureHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature heating"@en . + +s4bldg:externalSurfaceArea + a owl:ObjectProperty ; + rdfs:comment "External surface area (both primary and secondary area). Usually measured in square metre (m2)."@en ; + rdfs:label "external surface area"@en . + +s4bldg:PhysicalObject + a owl:Class ; + rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf [ a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest [ a rdf:List ; + rdf:first s4bldg:PhysicalObject ; + rdf:rest () + ] + ] + ] ; + owl:onProperty s4bldg:isContainedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:PhysicalObject ; + owl:onProperty s4bldg:contains + ] . + +s4bldg:isIlluminated a owl:DatatypeProperty ; + rdfs:comment "An indication of whether there is an illuminated indicator to show that the switch is on (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is illuminated"@en ; + rdfs:range xsd:boolean . + +s4bldg:hasHotGasBypass + a owl:DatatypeProperty ; + rdfs:comment "Whether or not hot gas bypass is provided for the compressor. TRUE = Yes, FALSE = No."@en ; + rdfs:label "has hot gas bypass"@en ; + rdfs:range xsd:boolean . + +s4bldg:legend a owl:DatatypeProperty ; + rdfs:comment "A text inscribed or applied to the switch as a legend to indicate purpose or function."@en ; + rdfs:label "legend"@en ; + rdfs:range xsd:string . + +s4bldg:waterInletTemperatureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . + +s4bldg:DistributionFlowDevice + a owl:Class ; + rdfs:comment "Represents devices of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributionflowelement.htm)"@en ; + rdfs:label "DistributionFlowDevice"@en ; + rdfs:subClassOf s4bldg:DistributionDevice . + +s4bldg:isContainedIn a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between an object and the physical space in which it is located."@en ; + rdfs:label "is contained in"@en . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + owl:disjointWith saref:Property , saref:UnitOfMeasure . + +s4bldg:controlStrategy + a owl:DatatypeProperty ; + rdfs:comment "FixedExitingWaterTemp: The capacity is controlled to maintain a fixed exiting water temperature. WetBulbTempReset: The set-point is reset based on the wet-bulb temperature."@en ; + rdfs:label "control strategy"@en ; + rdfs:range xsd:string . + +s4bldg:contains a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a physical space and the objects located in such space."@en ; + rdfs:label "contains"@en ; + owl:inverseOf s4bldg:isContainedIn . + +s4bldg:coilLength a owl:ObjectProperty ; + rdfs:comment "Length of coil. Usually measured in millimeters (mm)."@en ; + rdfs:label "coil length"@en . + +s4bldg:FlowMovingDevice + a owl:Class ; + rdfs:comment "The distribution flow element FlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system."@en ; + rdfs:label "Flow moving device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMovingDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowmovingdevice.htm> . + +s4bldg:startingTime a owl:ObjectProperty ; + rdfs:comment "The time (in s) needed for the motor to reach its rated speed with its driven equipment attached, starting from standstill and at the nominal voltage applied at its terminals."@en ; + rdfs:label "starting time"@en . + +s4bldg:outputCapacity + a owl:ObjectProperty ; + rdfs:comment "Total nominal heat output as listed by the manufacturer. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "output capacity"@en . + +s4bldg:secondaryCurrent + a owl:ObjectProperty ; + rdfs:comment "The current that has been transformed and is running out of the transformer on the secondary side. Usually measured in Ampere (A)."@en ; + rdfs:label "secondary current"@en . + +s4bldg:secondaryCurrentType + a owl:DatatypeProperty ; + rdfs:comment "A list of the secondary current types that can result from transformer output."@en ; + rdfs:label "secondary current type"@en ; + rdfs:range xsd:string . + +s4bldg:heatExchangeArea + a owl:ObjectProperty ; + rdfs:comment "Heat exchange area. Usually measured in square metre (m2)."@en ; + rdfs:label "heat exchange area"@en . + +s4bldg:fireExit a owl:DatatypeProperty ; + rdfs:comment "Indication whether this object is designed to serve as an exit in the case of fire (TRUE) or not (FALSE). Here whether the transport element (in case of e.g., a lift) is designed to serve as a fire exit, e.g., for fire escape purposes."@en ; + rdfs:label "fire exit"@en ; + rdfs:range xsd:boolean . + +s4bldg:numberOsSockets + a owl:DatatypeProperty ; + rdfs:comment "The number of sockets that may be connected. In case of inconsistency, sockets defined on ports take precedence."@en ; + rdfs:label "number os sockets"@en ; + rdfs:range xsd:integer . + +s4bldg:arrangement a owl:DatatypeProperty ; + rdfs:comment "Defines the basic flow arrangements for the heat exchanger: COUNTERFLOW: Counterflow heat exchanger arrangement. CROSSFLOW: Crossflow heat exchanger arrangement. PARALLELFLOW: Parallel flow heat exchanger arrangement. MULTIPASS: Multipass flow heat exchanger arrangement. OTHER: Other type of heat exchanger flow arrangement not defined above."@en ; + rdfs:label "arrangement"@en ; + rdfs:range xsd:string . + +s4bldg:Lamp a owl:Class ; + rdfs:comment "A lamp is an artificial light source such as a light bulb or tube."@en ; + rdfs:label "Lamp"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcLamp" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:lightEmitterNominalPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:colorTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:spectrumMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:colorAppearance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:lampCompensationType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:lampMaintenanceFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:contributedLuminousFlux + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:colorRenderingIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:spectrumMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:lampBallastType + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_lamptypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifclamp.htm> . + +s4bldg:BuildingObject + a owl:Class ; + rdfs:comment "An object in the building that can be controlled by devices, such as a door or a window that can be automatically opened or closed by an actuator. (Definition taken from SAREF 1.0)"@en ; + rdfs:label "Building object"@en ; + rdfs:subClassOf s4bldg:PhysicalObject . + +s4bldg:powerOutputMax + a owl:ObjectProperty ; + rdfs:comment "The maximum output power rating of the engine. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum power output"@en . + +s4bldg:nominalParticleGeometricStandardDeviation + a owl:ObjectProperty ; + rdfs:comment "Particle geometric standard deviation associated with nominal efficiency. "@en ; + rdfs:label "nominal particle geometric standard deviation"@en . + +s4bldg:Boiler a owl:Class ; + rdfs:comment "A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications."@en ; + rdfs:label "Boiler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBoiler" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isWaterStorageHeater + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterInletTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:heatTransferSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:pressureRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outletTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterStorageCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalEnergyConsumption + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:operatingMode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterInletTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPartLoadRatio + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outletTemperatureMax + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcboiler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_boilertypecommon.htm> . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . + +s4bldg:staggeredRowSpacing + a owl:ObjectProperty ; + rdfs:comment "Staggered tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "staggered row spacing"@en . + +s4bldg:nominalParticleGeometricMeanDiameter + a owl:ObjectProperty ; + rdfs:comment "Particle geometric mean diameter associated with nominal efficiency. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal particle geometric mean diameter"@en . + +s4bldg:Fan a owl:Class ; + rdfs:comment "A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system."@en ; + rdfs:label "Fan"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFan" ; + rdfs:subClassOf s4bldg:FlowMovingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalTotalPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalStaticPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalRotationSpeed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:capacityControlType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPowerRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalAirFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:motorDriveType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationalRiterial + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfan.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_fantypecommon.htm> . + +s4bldg:internalRefrigerantVolume + a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (refrigerant side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal refrigerant volume"@en . + +s4bldg:bodyMass a owl:ObjectProperty ; + rdfs:comment "Overall body mass of the heater. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "body mass"@en . + +xsd:duration a rdfs:Datatype . + +s4bldg:nominalTotalPressure + a owl:ObjectProperty ; + rdfs:comment "Nominal total pressure rise across the fan. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal total pressure"@en . + +s4bldg:pipeConnectionEnum + a owl:DatatypeProperty ; + rdfs:comment "The manner in which the pipe connection is made to the cooled beam."@en ; + rdfs:label "pipe connection enum"@en ; + rdfs:range xsd:string . + +s4bldg:startCurrentFactor + a owl:ObjectProperty ; + rdfs:comment "IEC. Start current factor defines how large the peek starting current will become on the engine. StartCurrentFactor is multiplied to NominalCurrent and we get the start current."@en ; + rdfs:label "start current factor"@en . + +s4bldg:basinReserveVolume + a owl:ObjectProperty ; + rdfs:comment "Volume between operating and overflow levels in cooling tower basin. Usually measured in cubic metre (m3)."@en ; + rdfs:label "basin reserve volume"@en . + +dcterms:rightsHolder a owl:AnnotationProperty . + +s4bldg:shortCircuitVoltage + a owl:ObjectProperty ; + rdfs:comment "A complex number that specifies the real and imaginary parts of the short-circuit voltage at rated current of a transformer given in %."@en ; + rdfs:label "short circuit voltage"@en . + +s4bldg:secondaryAirFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . + +s4bldg:nominalSorroundingHumidityCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding humidity (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding humidity cooling"@en . + +s4bldg:FlowInstrument + a owl:Class ; + rdfs:comment "A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points.\n\nInstrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)"@en ; + rdfs:label "Flow instrument"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowInstrument" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_flowinstrumenttypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcflowinstrument.htm> . + +s4bldg:thermalConductivity + a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "thermal conductivity"@en . + +s4bldg:waterRequirement + a owl:ObjectProperty ; + rdfs:comment "Make-up water requirement. Usually measured in m3/s."@en ; + rdfs:label "water requirement"@en . + +s4bldg:Chiller a owl:Class ; + rdfs:comment "A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building."@en ; + rdfs:label "Chiller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcChiller" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalEfficiency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalEvaporatingTemmperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCondensingTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatRejectionRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPowerConsumption + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_chillertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcchiller.htm> . + +s4bldg:Compressor a owl:Class ; + rdfs:comment "A compressor is a device that compresses a fluid typically used in a refrigeration circuit."@en ; + rdfs:label "Compressor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCompressor" ; + rdfs:subClassOf s4bldg:FlowMovingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:compressorSpeed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:refrigerantClass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:idealCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:impellerDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:idealShaftPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:powerSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:partLoadRatioMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasHotGasBypass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:partLoadRatioMin + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_compressortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccompressor.htm> . + +vann:preferredNamespaceUri + a owl:AnnotationProperty . + +s4bldg:nominalPowerRate + a owl:ObjectProperty ; + rdfs:comment "Nominal fan power rate.Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power rate"@en . + +s4bldg:heatTransferMedium + a owl:DatatypeProperty ; + rdfs:comment "Enumeration defining the heat transfer medium if applicable."@en ; + rdfs:label "heat transfer medium"@en ; + rdfs:range xsd:string . + +s4bldg:patternType a owl:DatatypeProperty ; + rdfs:comment "Defines the types of pattern (or shape of a tank that may be specified."@en ; + rdfs:label "pattern type"@en ; + rdfs:range xsd:string . + +s4bldg:hasDefrost a owl:DatatypeProperty ; + rdfs:comment "Whether the heat exchanger has defrost function or not."@en ; + rdfs:label "has defrost"@en ; + rdfs:range xsd:boolean . + +s4bldg:effectiveCapacity + a owl:ObjectProperty ; + rdfs:comment "The total effective or actual volumetric capacity of the tank. Usually measured in cubic metre (m3).B3"@en ; + rdfs:label "effective capacity"@en . + +s4bldg:secondaryApparentPower + a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and is running out of the transformer on the secondary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "secondary apparent power"@en . + +s4bldg:EnergyConversionDevice + a owl:Class ; + rdfs:comment "The distribution flow element EnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system."@en ; + rdfs:label "Energy conversion device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEnergyConversionDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcenergyconversiondevice.htm> . + +s4bldg:isNeutralPrimaryTerminalAvailable + a owl:DatatypeProperty ; + rdfs:comment "An indication of whether the neutral point of the primary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral primary terminal available"@en ; + rdfs:range xsd:boolean . + +s4bldg:CommunicationAppliance + a owl:Class ; + rdfs:comment "A communications appliance transmits and receives electronic or digital information as data or sound.\n\nCommunication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."@en ; + rdfs:label "Communication appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCommunicationAppliance" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_communicationsappliancetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifccommunicationsappliance.htm> . + +s4bldg:nominalHeatRejectionRate + a owl:ObjectProperty ; + rdfs:comment "Sum of the refrigeration effect and the heat equivalent of the power input to the compressor. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heat rejection rate"@en . + +s4bldg:isWaterStorageHeater + a owl:DatatypeProperty ; + rdfs:comment "This is used to identify if the boiler has storage capacity (TRUE). If FALSE, then there is no storage capacity built into the boiler, such as an instantaneous hot water heater."@en ; + rdfs:label "is water storage heater"@en ; + rdfs:range xsd:boolean . + +s4bldg:inletConnectionSize + a owl:ObjectProperty ; + rdfs:comment "Size of the inlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "inlet connection size"@en . + +s4bldg:weight a owl:ObjectProperty ; + rdfs:comment "The weight of the device. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "weight"@en . + +s4bldg:airFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Minimum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range min"@en . + +s4bldg:remoteReading a owl:DatatypeProperty ; + rdfs:comment "Indicates whether the meter has a connection for remote reading through connection of a communication device (set TRUE) or not (set FALSE)."@en ; + rdfs:label "remote reading"@en ; + rdfs:range xsd:boolean . + +s4bldg:circuitType a owl:DatatypeProperty ; + rdfs:comment "OpenCircuit: Exposes water directly to the cooling atmosphere. CloseCircuit: The fluid is separated from the atmosphere by a heat exchanger. Wet: The air stream or the heat exchange surface is evaporatively cooled. Dry: No evaporation into the air stream. DryWet: A combination of a dry tower and a wet tower."@en ; + rdfs:label "circuit type"@en ; + rdfs:range xsd:string . + +s4bldg:nominalSorroundingTemperatureHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature heating"@en . + +s4bldg:internalWaterVolume + a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (water side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal water volume"@en . + +s4bldg:failPosition a owl:DatatypeProperty ; + rdfs:comment "Specifies the required fail-safe position of the actuator."@en ; + rdfs:label "fail position"@en ; + rdfs:range xsd:string . + +s4bldg:nominalBodyLength + a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the x-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body length"@en . + +s4bldg:operation a owl:DatatypeProperty ; + rdfs:comment "The operational mechanism for the damper operation."@en ; + rdfs:label "operation"@en ; + rdfs:range xsd:string . + +dcterms:dateCopyrighted + a owl:AnnotationProperty . + +saref:hasTimestamp a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en ; + rdfs:range xsd:dateTime . + +s4bldg:lampMaintenanceFactor + a owl:ObjectProperty ; + rdfs:comment "Non recoverable losses of luminous flux of a lamp due to lamp depreciation i.e. the decreasing of light output of a luminaire due to aging and dirt."@en ; + rdfs:label "lamp maintenance factor"@en . + +s4bldg:valvePattern a owl:DatatypeProperty ; + rdfs:comment "The configuration of the ports of a valve according to either the linear route taken by a fluid flowing through the valve or by the number of ports where: SINGLEPORT: Valve that has a single entry port from the system that it serves, the exit port being to the surrounding environment. ANGLED_2_PORT: Valve in which the direction of flow is changed through 90 degrees. STRAIGHT_2_PORT: Valve in which the flow is straight through. STRAIGHT_3_PORT: Valve with three separate ports. CROSSOVER_4_PORT: Valve with 4 separate ports."@en ; + rdfs:label "valve pattern"@en ; + rdfs:range xsd:string . + +s4bldg:pumpFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . + +s4bldg:Sensor a owl:Class ; + rdfs:comment "A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument."@en ; + rdfs:label "Sensor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSensor" ; + rdfs:subClassOf saref:Sensor , s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_sensortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcsensor.htm> . + +s4bldg:application a owl:DatatypeProperty ; + rdfs:comment "Humidifier application. Fixed: Humidifier installed in a ducted flow distribution system. Portable: Humidifier is not installed in a ducted flow distribution system."@en ; + rdfs:label "application"@en ; + rdfs:range xsd:string . + +s4bldg:nominalReturnWaterTemperatureCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature cooling"@en . + +s4bldg: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <http://purl.org/net/mpoveda> , <http://www.garcia-castro.com/foaf.rdf#me> , <http://maxime-lefrancois.info/me#> ; + dcterms:description "This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341003/01.01.01_60/ts_10341003v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4bldg/> ; + dcterms:title "SAREF extension for building devices"@en ; + vann:preferredNamespacePrefix "s4bldg" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4bldg#" ; + owl:versionIRI <https://saref.etsi.org/saref4bldg/v1.1.1/saref4bldg#> ; + owl:versionInfo "1.1.1" . + +s4bldg:openPressureDrop + a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across damper. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "open pressure drop"@en . + +s4bldg:workingPressureMax + a owl:ObjectProperty ; + rdfs:comment "Maximum working pressure. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "maximum working pressure"@en . + +s4bldg:connectionSize + a owl:ObjectProperty ; + rdfs:comment "The connection size of the to and from the pump. Usually measured in millimeters (mm)."@en ; + rdfs:label "connection size"@en . + +s4bldg:idealCapacity a owl:ObjectProperty ; + rdfs:comment "Compressor capacity under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal capacity"@en . + +s4bldg:fluidFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.\nA device that has category saref:Sensor and performs a saref:SensingFunction."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en . + +s4bldg:foulingFactor a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "fouling factor"@en . + +s4bldg:transformerVectorGroup + a owl:DatatypeProperty ; + rdfs:comment "List of the possible vector groups for the transformer from which that required may be set. Values in the enumeration list follow a standard international code where the first letter describes how the primary windings are connected, the second letter describes how the secondary windings are connected, and the numbers describe the rotation of voltages and currents from the primary to the secondary side in multiples of 30 degrees. D: means that the windings are delta-connected. Y: means that the windings are star-connected. Z: means that the windings are zig-zag connected (a special start-connected providing low reactance of the transformer). The connectivity is only relevant for three-phase transformers."@en ; + rdfs:label "transformer vector group"@en ; + rdfs:range xsd:string . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +s4bldg:primaryAirFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Minimum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . + +s4bldg:supportedWeightMax + a owl:ObjectProperty ; + rdfs:comment "The maximum weight that can be carried by the vibration isolator. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "maximum supported weight"@en . + +s4bldg:EvaporativeCooler + a owl:Class ; + rdfs:comment "An evaporative cooler is a device that cools air by saturating it with water vapor."@en ; + rdfs:label "Evaporative cooler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporativeCooler" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:flowArrangement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:heatExchangeArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterRequirement + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporativecooler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporativecoolertypecommon.htm> . + +s4bldg:nominalPowerConsumption + a owl:ObjectProperty ; + rdfs:comment "Nominal total power consumption. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power consumption"@en . + +s4bldg:initialResistance + a owl:ObjectProperty ; + rdfs:comment "Initial new filter fluid resistance (i.e., pressure drop at the maximum air flowrate across the filter when the filter is new per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "initial resistance"@en . + +s4bldg:ambientDesignWetBulbTemperature + a owl:ObjectProperty ; + rdfs:comment "Ambient design wet bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design wet bulb temperature"@en . + +s4bldg:ShadingDevice a owl:Class ; + rdfs:comment "Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable."@en ; + rdfs:label "Shading device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcShadingDevice" ; + rdfs:subClassOf s4bldg:BuildingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:shadingDeviceType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalTransmittance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:solarReflectance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:visibleLightTransmittance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:solarTransmittance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:mechanicalOperated + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:visibleLightReflectance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:roughness + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isExternal + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcshadingdevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/pset/pset_shadingdevicecommon.htm> . + +s4bldg:lampBallastType + a owl:DatatypeProperty ; + rdfs:comment "The type of ballast used to stabilise gas discharge by limiting the current during operation and to deliver the necessary striking voltage for starting. Ballasts are needed to operate Discharge Lamps such as Fluorescent, Compact Fluorescent, High-pressure Mercury, Metal Halide and High-pressure Sodium Lamps. Magnetic ballasts are chokes which limit the current passing through a lamp connected in series on the principle of self-induction. The resultant current and power are decisive for the efficient operation of the lamp. A specially designed ballast is required for every type of lamp to comply with lamp rating in terms of Luminous Flux, Color Appearance and service life. The two types of magnetic ballasts for fluorescent lamps are KVG Conventional (EC-A series) and VVG Low-loss ballasts (EC-B series). Low-loss ballasts have a higher efficiency, which means reduced ballast losses and a lower thermal load. Electronic ballasts are used to run fluorescent lamps at high frequencies (approx. 35 - 40 kHz)."@en ; + rdfs:label "lamp ballast type"@en ; + rdfs:range xsd:string . + +s4bldg:valveMechanism + a owl:DatatypeProperty ; + rdfs:comment "The mechanism by which the valve function is achieved where: BALL: Valve that has a ported ball that can be turned relative to the body seat ports. BUTTERFLY: Valve in which a streamlined disc pivots about a diametric axis. CONFIGUREDGATE: Screwdown valve in which the closing gate is shaped in a configured manner to have a more precise control of pressure and flow change across the valve. GLAND: Valve with a tapered seating, in which a rotatable plug is retained by means of a gland and gland packing. GLOBE: Screwdown valve that has a spherical body. LUBRICATEDPLUG: Plug valve in which a lubricant is injected under pressure between the plug face and the body. NEEDLE: Valve for regulating the flow in or from a pipe, in which a slender cone moves along the axis of flow to close against a fixed conical seat. PARALLELSLIDE: Screwdown valve that has a machined plate that slides in formed grooves to form a seal. PLUG: Valve that has a ported plug that can be turned relative to the body seat ports. WEDGEGATE: Screwdown valve that has a wedge shaped plate fitting into tapered guides to form a seal."@en ; + rdfs:label "valve mechanism"@en ; + rdfs:range xsd:string . + +s4bldg:SanitaryTerminal + a owl:Class ; + rdfs:comment "A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal."@en ; + rdfs:label "Sanitary terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSanitaryTerminal" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_sanitaryterminaltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcsanitaryterminal.htm> . + +s4bldg:horizontalSpacing + a owl:ObjectProperty ; + rdfs:comment "Horizontal spacing between tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "horizontal spacing"@en . + +s4bldg:ventilatingPipeSize + a owl:ObjectProperty ; + rdfs:comment "Size of the ventilating pipe(s). Usually measured in millimeters (mm)."@en ; + rdfs:label "ventilating pipe size"@en . + +s4bldg:primaryApparentPower + a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and that runs into the transformer on the primary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "primary apparent power"@en . + +s4bldg:nominalSupplyVoltageMin + a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . + +s4bldg:internalSurfaceArea + a owl:ObjectProperty ; + rdfs:comment "Internal surface area. Usually measured in square metre (m2)."@en ; + rdfs:label "internal surface area"@en . + +s4bldg:nominalHeatingCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal heating capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heating capacity"@en . + +s4bldg:vibrationTransmissibility + a owl:ObjectProperty ; + rdfs:comment "The vibration transmissibility percentage."@en ; + rdfs:label "vibration transmissibility"@en . + +s4bldg:hasPartWinding + a owl:DatatypeProperty ; + rdfs:comment "Indication of whether the motor is single speed, i.e. has a single winding (= FALSE) or multi-speed i.e.has part winding (= TRUE) ."@en ; + rdfs:label "has part winding"@en ; + rdfs:range xsd:boolean . + +s4bldg:workingPressure + a owl:ObjectProperty ; + rdfs:comment "The normally expected maximum working pressure of the valve. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "working pressure"@en . + +s4bldg:integratedLightingType + a owl:DatatypeProperty ; + rdfs:comment "Integrated lighting in cooled beam."@en ; + rdfs:label "integrated lighting type"@en ; + rdfs:range xsd:string . + +s4bldg:operationTemperatureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . + +s4bldg:nominalMediaSurfaceVelocity + a owl:ObjectProperty ; + rdfs:comment "Average fluid velocity at the media surface. Usually measured in m/s."@en ; + rdfs:label "nominal media surface velocity"@en . + +s4bldg:nominalMoistureGain + a owl:ObjectProperty ; + rdfs:comment "Nominal rate of water vapor added into the airstream. Usually measured in kg/s."@en ; + rdfs:label "nominal moisture gain"@en . + +s4bldg:nominalFilterFaceVelocity + a owl:ObjectProperty ; + rdfs:comment "Filter face velocity. Usually measured in m/s."@en ; + rdfs:label "nominal filter face velocity"@en . + +s4bldg:numberOfGangs a owl:DatatypeProperty ; + rdfs:comment "Number of gangs/buttons on this switch."@en ; + rdfs:label "number of gangs"@en ; + rdfs:range xsd:integer . + +s4bldg:capacityWeight + a owl:ObjectProperty ; + rdfs:comment "Capacity of the transport element measured by weight. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "capacity weight"@en . + +s4bldg:waterFlowControlSystemType + a owl:DatatypeProperty ; + rdfs:comment "Factory fitted waterflow control system."@en ; + rdfs:label "water flow control system type"@en ; + rdfs:range xsd:string . + +s4bldg:Humidifier a owl:Class ; + rdfs:comment "A humidifier is a device that adds moisture into the air."@en ; + rdfs:label "Humidifier"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHumidifier" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:internalControl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterRequirement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:application + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:weight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalAirFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalMoistureGain + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifchumidifier.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_humidifiertypecommon.htm> . + +s4bldg:hasSpace a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Relation between a building or a building space and the spaces it can be divided into."@en ; + rdfs:label "has space"@en ; + owl:inverseOf s4bldg:isSpaceOf . + +s4bldg:netPositiveSuctionHead + a owl:ObjectProperty ; + rdfs:comment "Minimum liquid pressure at the pump inlet to prevent cavitation. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "net positive suction head"@en . + +s4bldg:Tank a owl:Class ; + rdfs:comment "A tank is a vessel or container in which a fluid or gas is stored for later use."@en ; + rdfs:label "Tank"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTank" ; + rdfs:subClassOf s4bldg:FlowStorageDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalDepth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operatingWeight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:patternType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:endShapeType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfSections + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalVolumetricCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondCurvatureRadius + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:storageType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:effectiveCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:firstCurvatureRadius + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalLengthOrDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:accessType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalWidthOrDiameter + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctank.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tanktypecommon.htm> . + +s4bldg:hasLock a owl:DatatypeProperty ; + rdfs:comment "Indication of whether a switching device has a key operated lock (=TRUE) or not (= FALSE)."@en ; + rdfs:label "has lock"@en ; + rdfs:range xsd:boolean . + +s4bldg:length a owl:ObjectProperty ; + rdfs:comment "The finished length of the device. Usually measured in millimeters (mm)."@en ; + rdfs:label "length"@en . + +s4bldg:nominalLatentCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal latent capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal latent capacity"@en . + +s4bldg:SpaceHeater a owl:Class ; + rdfs:comment "Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters.\n\nUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; Coil should be used for coil-based floor heating."@en ; + rdfs:label "Space heater"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSpaceHeater" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:placementType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfSections + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outputCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalMassHeatCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:bodyMass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:temperatureClassification + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfPanels + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:heatTransferDimension + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalEfficiency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:heatTransferMedium + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcspaceheater.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_spaceheatertypecommon.htm> . + +s4bldg:nominalPartLoadRatio + a owl:ObjectProperty ; + rdfs:comment "Allowable part load ratio range."@en ; + rdfs:label "nominal part load ratio"@en . + +s4bldg:nominalEfficiency + a owl:ObjectProperty ; + rdfs:comment "Nominal chiller efficiency under nominal conditions. "@en ; + rdfs:label "nominal efficiency"@en . + +s4bldg:temperatureClassification + a owl:DatatypeProperty ; + rdfs:comment "Enumeration defining the temperature classification of the space heater surface temperature. low temperature - surface temperature is relatively low, usually heated by hot water or electricity. high temperature - surface temperature is relatively high, usually heated by gas or steam."@en ; + rdfs:label "temperature classification"@en ; + rdfs:range xsd:string . + +s4bldg:CoolingTower a owl:Class ; + rdfs:comment "A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation."@en ; + rdfs:label "Cooling tower"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoolingTower" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:ambientDesignWetBulbTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:capacityControl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:basinReserveVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:liftElevationDifference + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterRequirement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:sprayType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:flowArrangement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:ambientDesignDryBulbTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfCells + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:circuitType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:controlStrategy + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoolingtower.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coolingtowertypecommon.htm> . + +s4bldg:temperatureRating + a owl:ObjectProperty ; + rdfs:comment "Temperature rating. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "temperature rating"@en . + +s4bldg:outletConnectionSize + a owl:ObjectProperty ; + rdfs:comment "Size of the outlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "outlet connection size"@en . + +s4bldg:waterPressureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . + +s4bldg:ProtectiveDeviceTrippingUnit + a owl:Class ; + rdfs:comment "A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded."@en ; + rdfs:label "Protective device tripping unit"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDeviceTrippingUnit" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:standard + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:limitingTerminalSize + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetrippingunittypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevicetrippingunit.htm> . + +s4bldg:Damper a owl:Class ; + rdfs:comment "A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air."@en ; + rdfs:label "Damper"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDamper" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:bladeShape + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:temperatureRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:leakageFullyClosed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:frameType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:orientation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:closeOffRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfBlades + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:faceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:frameThickness + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:operation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:bladeEdge + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalAirFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:bladeThickness + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:openPressureDrop + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:frameDepth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:bladeAction + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_dampertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcdamper.htm> . + +s4bldg:ProtectiveDevice + a owl:Class ; + rdfs:comment "A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded.\n\nA protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection."@en ; + rdfs:label "Protective device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDevice" ; + rdfs:subClassOf s4bldg:FlowController ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevice.htm> . + +s4bldg:nominalBodyDepth + a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted =length, measured along the z-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body depth"@en . + +s4bldg:ElectricTimeControl + a owl:Class ; + rdfs:comment "An electric time control is a device that applies control to the provision or flow of electrical energy over time."@en ; + rdfs:label "Electric time control"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricTimeControl" ; + rdfs:subClassOf s4bldg:FlowController ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electrictimecontroltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectrictimecontrol.htm> . + +s4bldg:outletTemperatureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . + +s4bldg:apparentPowerMax + a owl:ObjectProperty ; + rdfs:comment "Maximum apparent power/capacity in VA (volt ampere). Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum apparent power"@en . + +s4bldg:leakageFullyClosed + a owl:ObjectProperty ; + rdfs:comment "Leakage when fully closed. Usually measured in m3/s."@en ; + rdfs:label "leakage fully closed"@en . + +s4bldg:contributedLuminousFlux + a owl:ObjectProperty ; + rdfs:comment "Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. Usually measured in Lumen (lm, Candela Steradian)."@en ; + rdfs:label "contributed luminous flux"@en . + +s4bldg:nominalHeatTransferCoefficient + a owl:ObjectProperty ; + rdfs:comment "Nominal overall heat transfer coefficient associated with nominal heat transfer area. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "nominal heat transfer coefficient"@en . + +s4bldg:flowCoefficient + a owl:ObjectProperty ; + rdfs:comment "Flow coefficient (the quantity of fluid that passes through a fully open valve at unit pressure drop), typically expressed as the Kv or Cv value for the valve."@en ; + rdfs:label "flow coefficient"@en . + +dcterms:creator a owl:AnnotationProperty . + +s4bldg:ElectricAppliance + a owl:Class ; + rdfs:comment "An electric appliance is a device intended for consumer usage that is powered by electricity.\n\nElectric appliances may be fixed in place or may be able to be moved from one space to another. Electric appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."@en ; + rdfs:label "Electric appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricAppliance" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricappliancetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricappliance.htm> . + +s4bldg:AirToAirHeatRecovery + a owl:Class ; + rdfs:comment "An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements."@en ; + rdfs:label "Air to air heat recovery"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAirToAirHeatRecovery" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:heatTransferTypeEnum + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryAirFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryAirFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryAirFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasDefrost + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryAirFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcairtoairheatrecovery.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_airtoairheatrecoverytypecommon.htm> . + +s4bldg:Burner a owl:Class ; + rdfs:comment "A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners."@en ; + rdfs:label "Burner"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBurner" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_burnertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcburner.htm> . + +s4bldg:primaryCurrent + a owl:ObjectProperty ; + rdfs:comment "The current that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Ampere (A)."@en ; + rdfs:label "primary current"@en . + +s4bldg:VibrationIsolator + a owl:Class ; + rdfs:comment "A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building."@en ; + rdfs:label "Vibration isolator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcVibrationIsolator" ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:vibrationTransmissibility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:isolatorStaticDeflection + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:isolatorCompressibility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:height + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:supportedWeightMax + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvibrationisolator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_vibrationisolatortypecommon.htm> . + +s4bldg:SolarDevice a owl:Class ; + rdfs:comment "A solar device converts solar radiation into other energy such as electric current or thermal energy."@en ; + rdfs:label "Solar device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSolarDevice" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_solardevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcsolardevicetypeenum.htm> . + +prov:hadPrimarySource + a owl:AnnotationProperty . + +s4bldg:nominalWidthOrDiameter + a owl:ObjectProperty ; + rdfs:comment "The nominal width or, in the case of a horizontal cylindrical tank, the nominal diameter of the tank. Note: Not required for a vertical cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal width or diameter"@en . + +s4bldg:nominalRotationSpeed + a owl:ObjectProperty ; + rdfs:comment "Nominal fan wheel speed. Usually measured in cycles/s."@en ; + rdfs:label "nominal rotation speed"@en . + +s4bldg:coverLength a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system or the radius (in the case of a circular shape in plan) of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover length"@en . + +s4bldg:realImpedanceRatio + a owl:ObjectProperty ; + rdfs:comment "The ratio between the real part of the zero sequence impedance and the real part of the positive impedance (i.e. real part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "real impedance ratio"@en . + +s4bldg:closeOffRating + a owl:ObjectProperty ; + rdfs:comment "Close off rating. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "close off rating"@en . + +s4bldg:isFreeHanging a owl:DatatypeProperty ; + rdfs:comment "Is it free hanging type (not mounted in a false ceiling)?"@en ; + rdfs:label "is free hanging"@en ; + rdfs:range xsd:boolean . + +s4bldg:nominalSensibleCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal sensible capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal sensible capacity"@en . + +s4bldg:nominalUa a owl:ObjectProperty ; + rdfs:comment "Nominal UA value."@en ; + rdfs:label "nominal ua"@en . + +s4bldg:Filter a owl:Class ; + rdfs:comment "A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases."@en ; + rdfs:label "Filter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFilter" ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:weight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:finalResistance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:fluidFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:fluidFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalParticleGeometricStandardDeviation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalFilterFaceVelocity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalMediaSurfaceVelocity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalParticleGeometricMeanDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:initialResistance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPressureDrop + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_filtertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfilter.htm> . + +s4bldg:readOutType a owl:DatatypeProperty ; + rdfs:comment "Indication of the form that readout from the meter takes. In the case of a dial read out, this may comprise multiple dials that give a cumulative reading and/or a mechanical odometer."@en ; + rdfs:label "read out type"@en ; + rdfs:range xsd:string . + +s4bldg:hydraulicDiameter + a owl:ObjectProperty ; + rdfs:comment "Hydraulic diameter. Usually measured in millimeters (mm)."@en ; + rdfs:label "hydraulic diameter"@en . + +s4bldg:nominalFlowRate + a owl:ObjectProperty ; + rdfs:comment "Nominal fluid flow rate through the filter. Usually measured in m3/s."@en ; + rdfs:label "nominal flow rate"@en . + +s4bldg:liftElevationDifference + a owl:ObjectProperty ; + rdfs:comment "Elevation difference between cooling tower sump and the top of the tower. Usually measured in millimeters (mm)."@en ; + rdfs:label "lift elevation difference"@en . + +s4bldg:operationalRiterial + a owl:ObjectProperty ; + rdfs:comment "Time of operation at maximum operational ambient air temperature. Measured in seconds (s) or days (d) or other units of time."@en ; + rdfs:label "operational riterial"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + +s4bldg:isolatorCompressibility + a owl:ObjectProperty ; + rdfs:comment "The compressibility of the vibration isolator."@en ; + rdfs:label "isolator compressibility"@en . + +s4bldg:Controller a owl:Class ; + rdfs:comment "A controller is a device that monitors inputs and controls outputs within a building automation system.\n\nA controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller)."@en ; + rdfs:label "Controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcController" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_controllertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifccontroller.htm> . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en ; + rdfs:subClassOf s4bldg:PhysicalObject . + +s4bldg:motorDriveType + a owl:DatatypeProperty ; + rdfs:comment "Motor drive type: DIRECTDRIVE: Direct drive. BELTDRIVE: Belt drive. COUPLING: Coupling. OTHER: Other type of motor drive. UNKNOWN: Unknown motor drive type. "@en ; + rdfs:label "motor drive type"@en ; + rdfs:range xsd:string . + +s4bldg:isGuarded a owl:DatatypeProperty ; + rdfs:comment "Indication of whether the motor enclosure is guarded (= TRUE) or not (= FALSE)."@en ; + rdfs:label "is guarded"@en ; + rdfs:range xsd:boolean . + +s4bldg:flowArrangement + a owl:DatatypeProperty ; + rdfs:comment "CounterFlow: Air and water flow enter in different directions. CrossFlow: Air and water flow are perpendicular. ParallelFlow: air and water flow enter in same directions."@en ; + rdfs:label "flow arrangement"@en ; + rdfs:range xsd:string . + +s4bldg:DistributionControlDevice + a owl:Class ; + rdfs:comment "Represents devices of a building automation control system that are used to impart control over elements of a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributioncontrolelement.htm)"@en ; + rdfs:label "Distribution control device"@en ; + rdfs:subClassOf s4bldg:DistributionDevice . + +s4bldg:Alarm a owl:Class ; + rdfs:comment "An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device.\n\nAlarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms."@en ; + rdfs:label "Alarm"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAlarm" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_alarmtypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcalarm.htm> . + +s4bldg:nominalEnergyConsumption + a owl:ObjectProperty ; + rdfs:comment "Nominal fuel consumption rate required to produce the total boiler heat output. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal energy consumption"@en . + +s4bldg:inLineRowSpacing + a owl:ObjectProperty ; + rdfs:comment "In-line tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "in line row spacing"@en . + +s4bldg:Engine a owl:Class ; + rdfs:comment "An engine is a device that converts fuel into mechanical energy through combustion."@en ; + rdfs:label "Engine"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEngine" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_enginetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcengine.htm> . + +s4bldg:nominalStaticPressure + a owl:ObjectProperty ; + rdfs:comment "The static pressure within the air stream that the fan must overcome to insure designed circulation of air. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal static pressure"@en . + +s4bldg:pressureRating + a owl:ObjectProperty ; + rdfs:comment "Nominal pressure rating of the boiler as rated by the agency having jurisdiction. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "pressure rating"@en . + +s4bldg:heatTransferTypeEnum + a owl:DatatypeProperty ; + rdfs:comment "Type of heat transfer between the two air streams."@en ; + rdfs:label "heat transfer type enum"@en ; + rdfs:range xsd:string . + +s4bldg:nominalSupplyVoltage + a owl:ObjectProperty ; + rdfs:comment "The nominal voltage of the supply. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "nominal supply voltage"@en . + +s4bldg:pumpFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . + +s4bldg:orientation a owl:DatatypeProperty ; + rdfs:comment "The intended orientation for the damper as specified by the manufacturer."@en ; + rdfs:label "orientation"@en ; + rdfs:range xsd:string . + +s4bldg:lampCompensationType + a owl:DatatypeProperty ; + rdfs:comment "Identifies the form of compensation used for power factor correction and radio suppression."@en ; + rdfs:label "lamp compensation type"@en ; + rdfs:range xsd:string . + +s4bldg:FlowTerminal a owl:Class ; + rdfs:comment "The distribution flow element FlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment."@en ; + rdfs:label "Flow terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTerminal" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowterminal.htm> . + +vann:preferredNamespacePrefix + a owl:AnnotationProperty . + +s4bldg:visibleLightTransmittance + a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that passes the shading system at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light transmittance"@en . + +s4bldg:operatingMode a owl:DatatypeProperty ; + rdfs:comment "Identifies the operating mode of the boiler."@en ; + rdfs:label "operating mode"@en ; + rdfs:range xsd:string . + +s4bldg:thermalMassHeatCapacity + a owl:ObjectProperty ; + rdfs:comment "Product of component mass and specific heat."@en ; + rdfs:label "thermal mass heat capacity"@en . + +s4bldg:workingPressureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable minimum working pressure (relative to ambient pressure). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "minimum working pressure"@en . + +s4bldg:fluidFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . + +s4bldg:electricGeneratorEfficiency + a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric generator efficiency"@en . + +s4bldg:Actuator a owl:Class ; + rdfs:comment "An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion."@en ; + rdfs:label "Actuator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcActuator" ; + rdfs:subClassOf saref:Actuator , s4bldg:DistributionControlDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:manualOverride + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:failPosition + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_actuatortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcactuator.htm> . + +s4bldg:waterStorageCapacity + a owl:ObjectProperty ; + rdfs:comment "Water storage capacity. Usually measured in cubic metre (m3)."@en ; + rdfs:label "water storage capacity"@en . + +s4bldg:solarTransmittance + a owl:ObjectProperty ; + rdfs:comment "(Tsol) The ratio of incident solar radiation that directly passes through a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar transmittance"@en . + +s4bldg:nominalFrequency + a owl:ObjectProperty ; + rdfs:comment "The nominal frequency of the supply. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "nominal frequency"@en . + +s4bldg:energySource a owl:DatatypeProperty ; + rdfs:comment "The source of energy."@en , "Enumeration defining the energy source or fuel cumbusted to generate heat."@en ; + rdfs:label "energy source"@en ; + rdfs:range xsd:string . + +s4bldg:secondCurvatureRadius + a owl:ObjectProperty ; + rdfs:comment "SecondCurvatureRadius should be defined as the top or right side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "second curvature radius"@en . + +s4bldg:nominalReturnWaterTemperatureHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature heating"@en . + +s4bldg:electricMotorEfficiency + a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric motor efficiency"@en . + +s4bldg:coilWidth a owl:ObjectProperty ; + rdfs:comment "Width of coil. Usually measured in millimeters (mm"@en ; + rdfs:label "coil width"@en . + +s4bldg:secondaryVoltage + a owl:ObjectProperty ; + rdfs:comment "The voltage that has been transformed and is running out of the transformer on the secondary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "secondary voltage"@en . + +s4bldg:faceArea a owl:ObjectProperty ; + rdfs:comment "Face area open to the airstream. Usually measured in square metre (m2)."@en ; + rdfs:label "face area"@en . + +s4bldg:testPressure a owl:ObjectProperty ; + rdfs:comment "The maximum pressure to which the valve has been subjected under test. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "test pressure"@en . + +s4bldg:flowResistanceMax + a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . + +s4bldg:numberOfRows a owl:DatatypeProperty ; + rdfs:comment "Number of tube rows in the tube bundle assembly."@en ; + rdfs:label "number of rows"@en ; + rdfs:range xsd:integer . + +s4bldg:nominalPressureDrop + a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across the filter. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal pressure drop"@en . + +s4bldg:nominalHeatTransferArea + a owl:ObjectProperty ; + rdfs:comment "Nominal heat transfer surface area associated with nominal overall heat transfer coefficient. Usually measured in square metre (m2)."@en ; + rdfs:label "nominal heat transfer area"@en . + +s4bldg:mediaSource a owl:DatatypeProperty ; + rdfs:comment "Indicates media sources and corresponding names of ports (DistributionPort with FlowDirection=SINK and PredefinedType=AUDIOVISUAL) or aggregated audio/video components (AudioVisualAppliance)."@en ; + rdfs:label "media source"@en ; + rdfs:range xsd:string . + +s4bldg:operatingWeight + a owl:ObjectProperty ; + rdfs:comment "Operating weight of the tank including all of its contents. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "operating weight"@en . + +s4bldg:nominalWaterFlowHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal heating capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow heating"@en . + +s4bldg:Evaporator a owl:Class ; + rdfs:comment "An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid."@en ; + rdfs:label "Evaporator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporator" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:evaporationCoolant + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:externalSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalWaterVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:refrigerantClass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalRefrigerantVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:evaporationMediumType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporatortypecommon.htm> . + +s4bldg:operationTemperatureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . + +s4bldg:endShapeType a owl:DatatypeProperty ; + rdfs:comment "Defines the types of end shapes that can be used for preformed tanks. The convention for reading these enumerated values is that for a vertical cylinder, the first value is the base and the second is the top for a horizontal cylinder, the order of reading should be left to right. For a speherical tank, the value UNSET should be used.B5"@en ; + rdfs:label "end shape type"@en ; + rdfs:range xsd:string . + +s4bldg:nomminalRotationSpeed + a owl:ObjectProperty ; + rdfs:comment "Pump rotational speed under nominal conditions. Usually measured in cycles/s."@en ; + rdfs:label "nomminal rotation speed"@en . + +s4bldg:BuildingSpace a owl:Class ; + rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf [ a rdf:List ; + rdf:first s4bldg:Building ; + rdf:rest [ a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest () + ] + ] + ] ; + owl:onProperty s4bldg:isSpaceOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:BuildingSpace ; + owl:onProperty s4bldg:hasSpace + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:PhysicalObject ; + owl:onProperty s4bldg:contains + ] . + +s4bldg:size a owl:ObjectProperty ; + rdfs:comment "The size of the connection to the valve (or to each connection for faucets, mixing valves, etc.). Usually measured in millimeters (mm)."@en ; + rdfs:label "size"@en . + +s4bldg:impellerDiameter + a owl:ObjectProperty ; + rdfs:comment "Diameter of compressor impeller - used to scale performance of geometrically similar compressors. Usually measured in millimeters (mm)."@en ; + rdfs:label "impeller diameter"@en . + +s4bldg:spectrumMax a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "maximum spectrum"@en . + +s4bldg:BuildingDevice + a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in a building."@en ; + rdfs:label "Building device"@en ; + rdfs:subClassOf saref:Device , s4bldg:BuildingObject . + +s4bldg:verticalSpacing + a owl:ObjectProperty ; + rdfs:comment "Vertical spacing between tubes in the tube bundle.Usually measured in millimeters (mm)."@en ; + rdfs:label "vertical spacing"@en . + +s4bldg:switchFunction + a owl:DatatypeProperty ; + rdfs:comment "Indicates types of switches which differs in functionality."@en ; + rdfs:label "switch function"@en ; + rdfs:range xsd:string . + +s4bldg:FlowStorageDevice + a owl:Class ; + rdfs:comment "The distribution flow element FlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank)."@en ; + rdfs:label "Flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowStorageDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowstoragedevice.htm> . + +s4bldg:colorAppearance + a owl:DatatypeProperty ; + rdfs:comment "In both the DIN and CIE standards, artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance."@en ; + rdfs:label "color appearance"@en ; + rdfs:range xsd:string . + +s4bldg:ElectricGenerator + a owl:Class ; + rdfs:comment "An electric generator is an engine that is a machine for converting mechanical energy into electrical energy."@en ; + rdfs:label "Electric generator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricGenerator" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:powerOutputMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:startCurrentFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:electricGeneratorEfficiency + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricgenerator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricgeneratortypecommon.htm> . + +s4bldg:capacityControlType + a owl:DatatypeProperty ; + rdfs:comment "InletVane: Control by adjusting inlet vane. VariableSpeedDrive: Control by variable speed drive. BladePitchAngle: Control by adjusting blade pitch angle. TwoSpeed: Control by switch between high and low speed. DischargeDamper: Control by modulating discharge damper."@en ; + rdfs:label "capacity control type"@en ; + rdfs:range xsd:string . + +s4bldg:storageType a owl:DatatypeProperty ; + rdfs:comment "Defines the general material category intended to be stored."@en ; + rdfs:label "storage type"@en ; + rdfs:range xsd:string . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "is measured in"@en . + +s4bldg:nominalEvaporatingTemmperature + a owl:ObjectProperty ; + rdfs:comment "Chiller evaporating temperature.Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal evaporating temmperature"@en . + +s4bldg:partLoadRatioMax + a owl:ObjectProperty ; + rdfs:comment "Maximum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "maximum part load ratio"@en . + +s4bldg:nominalCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal capacity"@en . + +s4bldg:Outlet a owl:Class ; + rdfs:comment "An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications.\n\nPower outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture."@en ; + rdfs:label "Outlet"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcOutlet" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOsSockets + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isPluggableOutlet + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_outlettypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcoutlet.htm> . + +s4bldg:mechanicalOperated + a owl:DatatypeProperty ; + rdfs:comment "Indication whether the element is operated machanically (TRUE) or not, i.e. manually (FALSE)."@en ; + rdfs:label "mechanical operated"@en ; + rdfs:range xsd:boolean . + +s4bldg:isolatorStaticDeflection + a owl:ObjectProperty ; + rdfs:comment "Static deflection of the vibration isolator. Usually measured in millimeters (mm)."@en ; + rdfs:label "isolator static deflection"@en . + +s4bldg:waterPressureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . + +s4bldg:motorEnclosureType + a owl:DatatypeProperty ; + rdfs:comment "A list of the available types of motor enclosure from which that required may be selected."@en ; + rdfs:label "motor enclosure type"@en ; + rdfs:range xsd:string . + +s4bldg:refrigerantClass + a owl:DatatypeProperty ; + rdfs:comment "Refrigerant class used by the compressor. CFC: Chlorofluorocarbons. HCFC: Hydrochlorofluorocarbons. HFC: Hydrofluorocarbons."@en ; + rdfs:label "refrigerant class"@en ; + rdfs:range xsd:string . + +s4bldg:outletTemperatureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . + +s4bldg:frameThickness + a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper frame material. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame thickness"@en . + +s4bldg:manualOverride + a owl:DatatypeProperty ; + rdfs:comment "Identifies whether hand-operated operation is provided as an override (= TRUE) or not (= FALSE). Note that this value should be set to FALSE by default in the case of a Hand Operated Actuator."@en ; + rdfs:label "manual override"@en ; + rdfs:range xsd:boolean . + +s4bldg:nominalSupplyWaterTemperatureCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature cooling"@en . + +s4bldg:solarReflectance + a owl:ObjectProperty ; + rdfs:comment "(Rsol): The ratio of incident solar radiation that is reflected by a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar reflectance"@en . + +s4bldg:primaryFrequency + a owl:ObjectProperty ; + rdfs:comment "The frequency that is going to be transformed and that runs into the transformer on the primary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "primary frequency"@en . + +saref:Property a owl:Class ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Property"@en ; + owl:disjointWith saref:UnitOfMeasure . diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.rdf b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.rdf new file mode 100644 index 0000000000000000000000000000000000000000..78efafb04fa6421b9e77531eeff9992c6d605b8b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.rdf @@ -0,0 +1,4570 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:prov="http://www.w3.org/ns/prov#" + xmlns:s4bldg="https://saref.etsi.org/saref4bldg#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4bldg#"> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4bldg#</vann:preferredNamespaceUri> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation.</dcterms:description> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4bldg/v1.1.1/saref4bldg#"/> + <vann:preferredNamespacePrefix>s4bldg</vann:preferredNamespacePrefix> + <dcterms:title xml:lang="en">SAREF extension for building devices</dcterms:title> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341003/01.01.01_60/ts_10341003v010101p.pdf"/> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4bldg/"/> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + </owl:Ontology> + <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#duration"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMeter"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_flowmetertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcflowmeter.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowMeter</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow meter</rdfs:label> + <rdfs:comment xml:lang="en">A flow meter is a device that is used to measure the flow rate in a system.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#remoteReading"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#readOutType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#CooledBeam"> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCooledBeam</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilWidth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Cooled beam</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatingCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#integratedLightingType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCoolingCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccooledbeam.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_cooledbeamtypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#waterFlowControlSystemType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingHumidityCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#finishColor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#pipeConnectionEnum"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isFreeHanging"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilLength"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Fan"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalTotalPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalStaticPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfan.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalRotationSpeed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControlType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Fan</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_fantypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system.</rdfs:comment> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFan</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorDriveType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationalRiterial"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#CoolingTower"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignWetBulbTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControl"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#basinReserveVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#liftElevationDifference"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCoolingTower</rdfs:seeAlso> + <rdfs:comment xml:lang="en">A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#sprayType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#flowArrangement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoolingtower.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignDryBulbTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCells"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Cooling tower</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coolingtowertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#circuitType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#controlStrategy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#TubeBundle"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inLineRowSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTubeBundle</rdfs:seeAlso> + <rdfs:comment xml:lang="en">A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCircuits"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalConductivity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#volumen"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tubebundletypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#horizontalSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Tube bundle</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasTurbulator"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#foulingFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#insideDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#length"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfRows"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#verticalSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outsideDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctubebundle.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#staggeredRowSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Lamp"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lightEmitterNominalPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#colorTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorAppearance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_lamptypecommon.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcLamp</rdfs:seeAlso> + <rdfs:label xml:lang="en">Lamp</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampCompensationType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifclamp.htm"/> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lampMaintenanceFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A lamp is an artificial light source such as a light bulb or tube.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#contributedLuminousFlux"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorRenderingIndex"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampBallastType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SwitchingDevice"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#switchFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#legend"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Switching device</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_switchingdevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcswitchingdevice.htm"/> + <rdfs:comment xml:lang="en">A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. + +Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isIlluminated"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfGangs"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasLock"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"/> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSwitchingDevice</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#PhysicalObject"> + <rdfs:label xml:lang="en">Physical object</rdfs:label> + <rdfs:comment xml:lang="en">Any Object that has a proper space region. (Definition extracted from DUL ontology)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf> + <rdf:List> + <rdf:rest> + <rdf:List> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + </rdf:List> + </rdf:rest> + <rdf:first> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + </rdf:first> + </rdf:List> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isContainedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricMotor"> + <rdfs:label xml:lang="en">Electric motor</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#teTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lockedRotorCurrent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasPartWinding"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricmotortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorEnclosureType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricMotor</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startCurrentFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricMotorEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#powerOutputMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isGuarded"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">An electric motor is an engine that is a machine for converting electrical energy into mechanical energy.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricmotor.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startingTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Building"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcbuilding.htm"/> + <rdfs:seeAlso rdf:resource="https://w3id.org/ifc/IFC4_ADD1#IfcBuilding"/> + <rdfs:label xml:lang="en">Building</rdfs:label> + <rdfs:comment xml:lang="en">A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#hasSpace"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingDevice"> + <rdfs:label xml:lang="en">Building device</rdfs:label> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task in a building.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingObject"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionDevice"> + <rdfs:label xml:lang="en">Distribution device</rdfs:label> + <rdfs:comment xml:lang="en">Generalization of all devices that participate in a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcdistributionelement.htm)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#BuildingDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#AudioVisualAppliance"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_audiovisualappliancetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcaudiovisualappliance.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcAudioVisualApplicance</rdfs:seeAlso> + <rdfs:label xml:lang="en">Audio visual appliance</rdfs:label> + <rdfs:comment xml:lang="en">An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. + +Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mediaSource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#audioVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ProtectiveDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Protective device</rdfs:label> + <rdfs:comment xml:lang="en">A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. + +A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ProtectiveDeviceTrippingUnit"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetrippingunittypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevicetrippingunit.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDeviceTrippingUnit</rdfs:seeAlso> + <rdfs:label xml:lang="en">Protective device tripping unit</rdfs:label> + <rdfs:comment xml:lang="en">A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#standard"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#limitingTerminalSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowStorageDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowstoragedevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowStorageDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow storage device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank).</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#TransportElement"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifctransportelement.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTransportElement</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#fireExit"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/pset/pset_transportelementcommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityWeight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A transport element is a generalization of all transport related objects that move people, animals or goods within a building or building complex. The TransportElement defines the occurrence of a transport element. </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Transport element</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityPeople"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Compressor"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#compressorSpeed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A compressor is a device that compresses a fluid typically used in a refrigeration circuit.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_compressortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccompressor.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#impellerDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCompressor</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealShaftPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#powerSource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Compressor</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasHotGasBypass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Interceptor"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"/> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_interceptortypecommon.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcInterceptor</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletConnectionSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcinterceptor.htm"/> + <rdfs:comment xml:lang="en">An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inletConnectionSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyDepth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ventilatingPipeSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyLength"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverLength"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyWidth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Interceptor</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverWidth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowcontroller.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowController</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow controller</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Evaporator"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationCoolant"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#externalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporator.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalWaterVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Evaporator</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporatortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalRefrigerantVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEvaporator</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationMediumType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Sensor"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_sensortypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcsensor.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSensor</rdfs:seeAlso> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:comment xml:lang="en">A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Filter"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#finalResistance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricStandardDeviation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFilterFaceVelocity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMediaSurfaceVelocity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricMeanDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#initialResistance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPressureDrop"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"/> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_filtertypecommon.htm"/> + <rdfs:label xml:lang="en">Filter</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfilter.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFilter</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Controller"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_controllertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifccontroller.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcController</rdfs:seeAlso> + <rdfs:label xml:lang="en">Controller</rdfs:label> + <rdfs:comment xml:lang="en">A controller is a device that monitors inputs and controls outputs within a building automation system. + +A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller).</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#UnitaryControlElement"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_unitarycontrolelementtypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcunitarycontrolelement.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcUnitaryControlElement</rdfs:seeAlso> + <rdfs:label xml:lang="en">Unitary control element</rdfs:label> + <rdfs:comment xml:lang="en">A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. + +A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricFlowStorageDevice"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricFlowStorageDevice</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFrequency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Electric flow storage device</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricflowstoragedevicetypecommon.htm"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowStorageDevice"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricflowstoragedevice.htm"/> + <rdfs:comment xml:lang="en">An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Property"> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Burner"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_burnertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcburner.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcBurner</rdfs:seeAlso> + <rdfs:label xml:lang="en">Burner</rdfs:label> + <rdfs:comment xml:lang="en">A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Tank"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDepth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Tank</rdfs:label> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTank</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingWeight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#patternType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#endShapeType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctank.htm"/> + <rdfs:comment xml:lang="en">A tank is a vessel or container in which a fluid or gas is stored for later use.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfSections"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalVolumetricCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondCurvatureRadius"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#storageType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#effectiveCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#firstCurvatureRadius"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLengthOrDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#accessType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tanktypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWidthOrDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowStorageDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#MedicalDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_medicaldevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcmedicaldevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcMedicalDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Medical device</rdfs:label> + <rdfs:comment xml:lang="en">A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricGenerator"> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricGenerator</rdfs:seeAlso> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricgenerator.htm"/> + <rdfs:label xml:lang="en">Electric generator</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#powerOutputMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricgeneratortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startCurrentFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricGeneratorEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">An electric generator is an engine that is a machine for converting mechanical energy into electrical energy.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Pump"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#netPositiveSuctionHead"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#connectionSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nomminalRotationSpeed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcpump.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_pumptypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Pump</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcPump</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Outlet"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_outlettypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcoutlet.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcOutlet</rdfs:seeAlso> + <rdfs:label xml:lang="en">Outlet</rdfs:label> + <rdfs:comment xml:lang="en">An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. + +Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOsSockets"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isPluggableOutlet"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Coil"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coiltypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoil.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalUa"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSensibleCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#placementType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCoil</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLatentCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. + +Coils may also be used for non-airflow cases such as embedded in a floor slab.</rdfs:comment> + <rdfs:label xml:lang="en">Coil</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcenergyconversiondevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEnergyConversionDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Energy conversion device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element EnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device responsible for moving or controlling a mechanism or system</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowInstrument"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_flowinstrumenttypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcflowinstrument.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowInstrument</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow instrument</rdfs:label> + <rdfs:comment xml:lang="en">A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. + +Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"> + <rdfs:label xml:lang="en">Distribution control device</rdfs:label> + <rdfs:comment xml:lang="en">Represents devices of a building automation control system that are used to impart control over elements of a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributioncontrolelement.htm)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#CommunicationAppliance"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_communicationsappliancetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifccommunicationsappliance.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCommunicationAppliance</rdfs:seeAlso> + <rdfs:label xml:lang="en">Communication appliance</rdfs:label> + <rdfs:comment xml:lang="en">A communications appliance transmits and receives electronic or digital information as data or sound. + +Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://w3id.org/saref#Property"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Property"/> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Alarm"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_alarmtypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcalarm.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcAlarm</rdfs:seeAlso> + <rdfs:label xml:lang="en">Alarm</rdfs:label> + <rdfs:comment xml:lang="en">An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. + +Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DuctSilencer"> + <rdfs:label xml:lang="en">Duct silencer</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_ductsilencertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasExteriorInsulation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcductsilencer.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcDuctSilencer</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#length"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#hydraulicDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Engine"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_enginetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcengine.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEngine</rdfs:seeAlso> + <rdfs:label xml:lang="en">Engine</rdfs:label> + <rdfs:comment xml:lang="en">An engine is a device that converts fuel into mechanical energy through combustion.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowterminal.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowTerminal</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow terminal</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Humidifier"> + <rdfs:label xml:lang="en">Humidifier</rdfs:label> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcHumidifier</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#internalControl"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifchumidifier.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#application"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_humidifiertypecommon.htm"/> + <rdfs:comment xml:lang="en">A humidifier is a device that adds moisture into the air.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMoistureGain"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingSpace"> + <rdfs:label xml:lang="en">Building space</rdfs:label> + <rdfs:comment xml:lang="en">An entity used to define the physical spaces of the building. A building space contains devices or building objects.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf> + <rdf:List> + <rdf:rest> + <rdf:List> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first rdf:resource="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + </rdf:List> + </rdf:rest> + <rdf:first rdf:resource="https://saref.etsi.org/saref4bldg#Building"/> + </rdf:List> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isSpaceOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#hasSpace"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Transformer"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#apparentPowerMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Transformer</rdfs:label> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTransformer</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralPrimaryTerminalAvailable"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryCurrent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryFrequency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryApparentPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifctransformer.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryApparentPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#imaginaryImpedanceRatio"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryFrequency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralSecondaryTerminalAvailable"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#realImpedanceRatio"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#transformerVectorGroup"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. + +Transformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: Controller converts arbitrary signals, AudioVisualAppliance converts signals for audio or video streams, and CommunicationsAppliance converts signals for data or other communications usage.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_transformertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryVoltage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryVoltage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrentType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FireSuppressionTerminal"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_firesuppressionterminaltypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcfiresuppressionterminal.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFireSuppressionTerminal</rdfs:seeAlso> + <rdfs:label xml:lang="en">Fire suppression terminal</rdfs:label> + <rdfs:comment xml:lang="en">A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. + +A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricTimeControl"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electrictimecontroltypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectrictimecontrol.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricTimeControl</rdfs:seeAlso> + <rdfs:label xml:lang="en">Electric time control</rdfs:label> + <rdfs:comment xml:lang="en">An electric time control is a device that applies control to the provision or flow of electrical energy over time.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowController"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Damper"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeShape"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#leakageFullyClosed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_dampertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#orientation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#closeOffRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfBlades"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Damper</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#faceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameThickness"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeEdge"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcdamper.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeThickness"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#openPressureDrop"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameDepth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcDamper</rdfs:seeAlso> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowController"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeAction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Device"> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SanitaryTerminal"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_sanitaryterminaltypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcsanitaryterminal.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSanitaryTerminal</rdfs:seeAlso> + <rdfs:label xml:lang="en">Sanitary terminal</rdfs:label> + <rdfs:comment xml:lang="en">A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricAppliance"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricappliancetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricappliance.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricAppliance</rdfs:seeAlso> + <rdfs:label xml:lang="en">Electric appliance</rdfs:label> + <rdfs:comment xml:lang="en">An electric appliance is a device intended for consumer usage that is powered by electricity. + +Electric appliances may be fixed in place or may be able to be moved from one space to another. Electric appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Condenser"> + <rdfs:label xml:lang="en">Condenser</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_condensertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalWaterVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccondenser.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalRefrigerantVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#externalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state.</rdfs:comment> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCondenser</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingObject"> + <rdfs:label xml:lang="en">Building object</rdfs:label> + <rdfs:comment xml:lang="en">An object in the building that can be controlled by devices, such as a door or a window that can be automatically opened or closed by an actuator. (Definition taken from SAREF 1.0)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Chiller"> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcChiller</rdfs:seeAlso> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Chiller</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEvaporatingTemmperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_chillertypecommon.htm"/> + <rdfs:comment xml:lang="en">A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcchiller.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCondensingTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatRejectionRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerConsumption"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SpaceHeater"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#placementType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfSections"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcspaceheater.htm"/> + <rdfs:label xml:lang="en">Space heater</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outputCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalMassHeatCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bodyMass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureClassification"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfPanels"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferDimension"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSpaceHeater</rdfs:seeAlso> + <rdfs:comment xml:lang="en">Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. + +UnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; Coil should be used for coil-based floor heating.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_spaceheatertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferMedium"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#HeatExchanger"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_heatexchangertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcheatexchanger.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcHeatExchanger</rdfs:seeAlso> + <rdfs:label xml:lang="en">Heat exchanger</rdfs:label> + <rdfs:comment xml:lang="en">A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. HeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas AirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#arrangement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowmovingdevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowMovingDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow moving device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"> + <rdfs:label xml:lang="en">DistributionFlowDevice</rdfs:label> + <rdfs:comment xml:lang="en">Represents devices of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributionflowelement.htm)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Valve"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valvePattern"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvalve.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveOperation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Valve</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_valvetypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#testPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowController"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowCoefficient"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#size"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#closeOffRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcValve</rdfs:seeAlso> + <rdfs:comment xml:lang="en">A valve is used in a building services piping distribution system to control or modulate the flow of the fluid.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveMechanism"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#VibrationIsolator"> + <rdfs:comment xml:lang="en">A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#vibrationTransmissibility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvibrationisolator.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcVibrationIsolator</rdfs:seeAlso> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_vibrationisolatortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorStaticDeflection"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Vibration isolator</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorCompressibility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#height"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#supportedWeightMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SolarDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_solardevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcsolardevicetypeenum.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSolarDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Solar device</rdfs:label> + <rdfs:comment xml:lang="en">A solar device converts solar radiation into other energy such as electric current or thermal energy.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#AirToAirHeatRecovery"> + <rdfs:label xml:lang="en">Air to air heat recovery</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferTypeEnum"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcairtoairheatrecovery.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_airtoairheatrecoverytypecommon.htm"/> + <rdfs:comment xml:lang="en">An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcAirToAirHeatRecovery</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasDefrost"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EvaporativeCooler"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporativecooler.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#flowArrangement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:comment xml:lang="en">An evaporative cooler is a device that cools air by saturating it with water vapor.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Evaporative cooler</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatExchangeArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporativecoolertypecommon.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEvaporativeCooler</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowtreatmentdevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowTreatmentDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow treatment device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Boiler"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isWaterStorageHeater"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Boiler</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pressureRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcBoiler</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterStorageCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEnergyConsumption"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingMode"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcboiler.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPartLoadRatio"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_boilertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Actuator"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Actuator"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_actuatortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#manualOverride"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcactuator.htm"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#failPosition"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcActuator</rdfs:seeAlso> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:comment xml:lang="en">An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ShadingDevice"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#shadingDeviceType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalTransmittance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcshadingdevice.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarReflectance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Shading device</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightTransmittance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarTransmittance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mechanicalOperated"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightReflectance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/pset/pset_shadingdevicecommon.htm"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#BuildingDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#roughness"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcShadingDevice</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isExternal"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#liftElevationDifference"> + <rdfs:label xml:lang="en">lift elevation difference</rdfs:label> + <rdfs:comment xml:lang="en">Elevation difference between cooling tower sump and the top of the tower. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowCoefficient"> + <rdfs:label xml:lang="en">flow coefficient</rdfs:label> + <rdfs:comment xml:lang="en">Flow coefficient (the quantity of fluid that passes through a fully open valve at unit pressure drop), typically expressed as the Kv or Cv value for the valve.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryVoltage"> + <rdfs:label xml:lang="en">secondary voltage</rdfs:label> + <rdfs:comment xml:lang="en">The voltage that has been transformed and is running out of the transformer on the secondary side. Usually measured in Volts (V, W/A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMin"> + <rdfs:label xml:lang="en">nominal supply voltage offset</rdfs:label> + <rdfs:comment xml:lang="en">The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameDepth"> + <rdfs:label xml:lang="en">frame depth</rdfs:label> + <rdfs:comment xml:lang="en">The length (or depth) of the damper frame. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#horizontalSpacing"> + <rdfs:label xml:lang="en">horizontal spacing</rdfs:label> + <rdfs:comment xml:lang="en">Horizontal spacing between tubes in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorStaticDeflection"> + <rdfs:label xml:lang="en">isolator static deflection</rdfs:label> + <rdfs:comment xml:lang="en">Static deflection of the vibration isolator. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWidthOrDiameter"> + <rdfs:label xml:lang="en">nominal width or diameter</rdfs:label> + <rdfs:comment xml:lang="en">The nominal width or, in the case of a horizontal cylindrical tank, the nominal diameter of the tank. Note: Not required for a vertical cylindrical tank. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMax"> + <rdfs:label xml:lang="en">secondary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEfficiency"> + <rdfs:label xml:lang="en">nominal efficiency</rdfs:label> + <rdfs:comment xml:lang="en">Nominal chiller efficiency under nominal conditions. </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bodyMass"> + <rdfs:label xml:lang="en">body mass</rdfs:label> + <rdfs:comment xml:lang="en">Overall body mass of the heater. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ventilatingPipeSize"> + <rdfs:label xml:lang="en">ventilating pipe size</rdfs:label> + <rdfs:comment xml:lang="en">Size of the ventilating pipe(s). Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalUa"> + <rdfs:label xml:lang="en">nominal ua</rdfs:label> + <rdfs:comment xml:lang="en">Nominal UA value.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#vibrationTransmissibility"> + <rdfs:label xml:lang="en">vibration transmissibility</rdfs:label> + <rdfs:comment xml:lang="en">The vibration transmissibility percentage.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pressureRating"> + <rdfs:label xml:lang="en">pressure rating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal pressure rating of the boiler as rated by the agency having jurisdiction. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterStorageCapacity"> + <rdfs:label xml:lang="en">water storage capacity</rdfs:label> + <rdfs:comment xml:lang="en">Water storage capacity. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMin"> + <rdfs:label xml:lang="en">flow resistance range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalMassHeatCapacity"> + <rdfs:label xml:lang="en">thermal mass heat capacity</rdfs:label> + <rdfs:comment xml:lang="en">Product of component mass and specific heat.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMin"> + <rdfs:label xml:lang="en">minimum spectrum</rdfs:label> + <rdfs:comment xml:lang="en">The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMax"> + <rdfs:label xml:lang="en">primary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Maximum primary airflow that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeThickness"> + <rdfs:label xml:lang="en">blade thickness</rdfs:label> + <rdfs:comment xml:lang="en">The thickness of the damper blade. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#openPressureDrop"> + <rdfs:label xml:lang="en">open pressure drop</rdfs:label> + <rdfs:comment xml:lang="en">Total pressure drop across damper. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMax"> + <rdfs:label xml:lang="en">maximum working pressure</rdfs:label> + <rdfs:comment xml:lang="en">Maximum working pressure. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilLength"> + <rdfs:label xml:lang="en">coil length</rdfs:label> + <rdfs:comment xml:lang="en">Length of coil. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLengthOrDiameter"> + <rdfs:label xml:lang="en">nominal length or diameter</rdfs:label> + <rdfs:comment xml:lang="en">The nominal length or, in the case of a vertical cylindrical tank, the nominal diameter of the tank. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#supportedWeightMax"> + <rdfs:label xml:lang="en">maximum supported weight</rdfs:label> + <rdfs:comment xml:lang="en">The maximum weight that can be carried by the vibration isolator. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarTransmittance"> + <rdfs:label xml:lang="en">solar transmittance</rdfs:label> + <rdfs:comment xml:lang="en">(Tsol) The ratio of incident solar radiation that directly passes through a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignWetBulbTemperature"> + <rdfs:label xml:lang="en">ambient design wet bulb temperature</rdfs:label> + <rdfs:comment xml:lang="en">Ambient design wet bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMin"> + <rdfs:label xml:lang="en">primary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Minimum primary airflow that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCondensingTemperature"> + <rdfs:label xml:lang="en">nominal condensing temperature</rdfs:label> + <rdfs:comment xml:lang="en">Chiller condensing temperature. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"> + <rdfs:label xml:lang="en">nominal air flow rate</rdfs:label> + <rdfs:comment xml:lang="en">Nominal rate of air flow. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDiameter"> + <rdfs:label xml:lang="en">nominal diameter</rdfs:label> + <rdfs:comment xml:lang="en">Nominal diameter or width of the tubes in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#realImpedanceRatio"> + <rdfs:label xml:lang="en">real impedance ratio</rdfs:label> + <rdfs:comment xml:lang="en">The ratio between the real part of the zero sequence impedance and the real part of the positive impedance (i.e. real part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMax"> + <rdfs:label xml:lang="en">nominal supply voltage offset</rdfs:label> + <rdfs:comment xml:lang="en">The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowCooling"> + <rdfs:label xml:lang="en">nominal water flow cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal water flow (refers to nominal cooling capacity). Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFilterFaceVelocity"> + <rdfs:label xml:lang="en">nominal filter face velocity</rdfs:label> + <rdfs:comment xml:lang="en">Filter face velocity. Usually measured in m/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"> + <rdfs:label xml:lang="en">operation temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"> + <rdfs:label xml:lang="en">nominal capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a measurement and the unit of measure in which the measurement value is expressed.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPartLoadRatio"> + <rdfs:label xml:lang="en">nominal part load ratio</rdfs:label> + <rdfs:comment xml:lang="en">Allowable part load ratio range.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalConductivity"> + <rdfs:label xml:lang="en">thermal conductivity</rdfs:label> + <rdfs:comment xml:lang="en">Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMin"> + <rdfs:label xml:lang="en">water pressure range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLatentCapacity"> + <rdfs:label xml:lang="en">nominal latent capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal latent capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricMeanDiameter"> + <rdfs:label xml:lang="en">nominal particle geometric mean diameter</rdfs:label> + <rdfs:comment xml:lang="en">Particle geometric mean diameter associated with nominal efficiency. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"> + <rdfs:label xml:lang="en">weight</rdfs:label> + <rdfs:comment xml:lang="en">The weight of the device. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment xml:lang="en">The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping .</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMin"> + <rdfs:label xml:lang="en">minimum working pressure</rdfs:label> + <rdfs:comment xml:lang="en">Allowable minimum working pressure (relative to ambient pressure). Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferArea"> + <rdfs:label xml:lang="en">nominal heat transfer area</rdfs:label> + <rdfs:comment xml:lang="en">Nominal heat transfer surface area associated with nominal overall heat transfer coefficient. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#contributedLuminousFlux"> + <rdfs:label xml:lang="en">contributed luminous flux</rdfs:label> + <rdfs:comment xml:lang="en">Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. Usually measured in Lumen (lm, Candela Steradian).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"> + <rdfs:label xml:lang="en">operation temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outputCapacity"> + <rdfs:label xml:lang="en">output capacity</rdfs:label> + <rdfs:comment xml:lang="en">Total nominal heat output as listed by the manufacturer. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightReflectance"> + <rdfs:label xml:lang="en">visible light reflectance</rdfs:label> + <rdfs:comment xml:lang="en">Fraction of the visible light that is reflected by the glazing at normal incidence. It is a value without unit.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalRotationSpeed"> + <rdfs:label xml:lang="en">nominal rotation speed</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fan wheel speed. Usually measured in cycles/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressure"> + <rdfs:label xml:lang="en">working pressure</rdfs:label> + <rdfs:comment xml:lang="en">The normally expected maximum working pressure of the valve. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureRating"> + <rdfs:label xml:lang="en">temperature rating</rdfs:label> + <rdfs:comment xml:lang="en">Temperature rating. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameThickness"> + <rdfs:label xml:lang="en">frame thickness</rdfs:label> + <rdfs:comment xml:lang="en">The thickness of the damper frame material. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealShaftPower"> + <rdfs:label xml:lang="en">ideal shaft power</rdfs:label> + <rdfs:comment xml:lang="en">Compressor shaft power under ideal conditions. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCoolingCapacity"> + <rdfs:label xml:lang="en">nominal cooling capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal cooling capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyLength"> + <rdfs:label xml:lang="en">nominal body length</rdfs:label> + <rdfs:comment xml:lang="en">Nominal or quoted length, measured along the x-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureCooling"> + <rdfs:label xml:lang="en">nominal supply water temperature cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal supply water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMin"> + <rdfs:label xml:lang="en">secondary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#hydraulicDiameter"> + <rdfs:label xml:lang="en">hydraulic diameter</rdfs:label> + <rdfs:comment xml:lang="en">Hydraulic diameter. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#verticalSpacing"> + <rdfs:label xml:lang="en">vertical spacing</rdfs:label> + <rdfs:comment xml:lang="en">Vertical spacing between tubes in the tube bundle.Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nomminalRotationSpeed"> + <rdfs:label xml:lang="en">nomminal rotation speed</rdfs:label> + <rdfs:comment xml:lang="en">Pump rotational speed under nominal conditions. Usually measured in cycles/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#compressorSpeed"> + <rdfs:label xml:lang="en">compressor speed</rdfs:label> + <rdfs:comment xml:lang="en">Compressor speed. Usually measured in cycles/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"> + <rdfs:label xml:lang="en">water requirement</rdfs:label> + <rdfs:comment xml:lang="en">Make-up water requirement. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltage"> + <rdfs:label xml:lang="en">nominal supply voltage</rdfs:label> + <rdfs:comment xml:lang="en">The nominal voltage of the supply. Usually measured in Volts (V, W/A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMax"> + <rdfs:label xml:lang="en">pump flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outsideDiameter"> + <rdfs:label xml:lang="en">outside diameter</rdfs:label> + <rdfs:comment xml:lang="en">Actual outside diameter of the tube in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMax"> + <rdfs:label xml:lang="en">maximum part load ratio</rdfs:label> + <rdfs:comment xml:lang="en">Maximum part load ratio as a fraction of nominal capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#testPressure"> + <rdfs:label xml:lang="en">test pressure</rdfs:label> + <rdfs:comment xml:lang="en">The maximum pressure to which the valve has been subjected under test. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowHeating"> + <rdfs:label xml:lang="en">nominal water flow heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal water flow (refers to nominal heating capacity). Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEvaporatingTemmperature"> + <rdfs:label xml:lang="en">nominal evaporating temmperature</rdfs:label> + <rdfs:comment xml:lang="en">Chiller evaporating temperature.Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightTransmittance"> + <rdfs:label xml:lang="en">visible light transmittance</rdfs:label> + <rdfs:comment xml:lang="en">Fraction of the visible light that passes the shading system at normal incidence. It is a value without unit.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryApparentPower"> + <rdfs:label xml:lang="en">primary apparent power</rdfs:label> + <rdfs:comment xml:lang="en">The power in VA (volt ampere) that has been transformed and that runs into the transformer on the primary side. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMin"> + <rdfs:label xml:lang="en">fluid flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Possible range of fluid flowrate that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorCompressibility"> + <rdfs:label xml:lang="en">isolator compressibility</rdfs:label> + <rdfs:comment xml:lang="en">The compressibility of the vibration isolator.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#faceArea"> + <rdfs:label xml:lang="en">face area</rdfs:label> + <rdfs:comment xml:lang="en">Face area open to the airstream. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMin"> + <rdfs:label xml:lang="en">pump flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#imaginaryImpedanceRatio"> + <rdfs:label xml:lang="en">imaginary impedance ratio</rdfs:label> + <rdfs:comment xml:lang="en">The ratio between the imaginary part of the zero sequence impedance and the imaginary part of the positive impedance (i.e. imaginary part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFlowRate"> + <rdfs:label xml:lang="en">nominal flow rate</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fluid flow rate through the filter. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalEfficiency"> + <rdfs:label xml:lang="en">thermal efficiency</rdfs:label> + <rdfs:comment xml:lang="en">Overall Thermal Efficiency is defined as gross energy output of the heat transfer device divided by the energy input.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverWidth"> + <rdfs:label xml:lang="en">cover width</rdfs:label> + <rdfs:comment xml:lang="en">The length measured along the x-axis in the local coordinate system of the cover of the oil interceptor. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarReflectance"> + <rdfs:label xml:lang="en">solar reflectance</rdfs:label> + <rdfs:comment xml:lang="en">(Rsol): The ratio of incident solar radiation that is reflected by a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureHeating"> + <rdfs:label xml:lang="en">nominal supply water temperature heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal supply water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMax"> + <rdfs:label xml:lang="en">water inlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water inlet temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondCurvatureRadius"> + <rdfs:label xml:lang="en">second curvature radius</rdfs:label> + <rdfs:comment xml:lang="en">SecondCurvatureRadius should be defined as the top or right side radius of curvature value. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#limitingTerminalSize"> + <rdfs:label xml:lang="en">limiting terminal size</rdfs:label> + <rdfs:comment xml:lang="en">The maximum terminal size capacity of the device. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#foulingFactor"> + <rdfs:label xml:lang="en">fouling factor</rdfs:label> + <rdfs:comment xml:lang="en">Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#size"> + <rdfs:label xml:lang="en">size</rdfs:label> + <rdfs:comment xml:lang="en">The size of the connection to the valve (or to each connection for faucets, mixing valves, etc.). Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricGeneratorEfficiency"> + <rdfs:label xml:lang="en">electric generator efficiency</rdfs:label> + <rdfs:comment xml:lang="en">The ratio of output capacity to intake capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lightEmitterNominalPower"> + <rdfs:label xml:lang="en">light emitter nominal power</rdfs:label> + <rdfs:comment xml:lang="en">Light emitter nominal power. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#colorTemperature"> + <rdfs:label xml:lang="en">color temperature</rdfs:label> + <rdfs:comment xml:lang="en">The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrent"> + <rdfs:label xml:lang="en">secondary current</rdfs:label> + <rdfs:comment xml:lang="en">The current that has been transformed and is running out of the transformer on the secondary side. Usually measured in Ampere (A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#height"> + <rdfs:label xml:lang="en">height</rdfs:label> + <rdfs:comment xml:lang="en">Height of the vibration isolator before tha application of load. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"> + <rdfs:label xml:lang="en">air flow rate range max</rdfs:label> + <rdfs:comment xml:lang="en">Maximum allowable air flow rate. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryCurrent"> + <rdfs:label xml:lang="en">primary current</rdfs:label> + <rdfs:comment xml:lang="en">The current that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Ampere (A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#firstCurvatureRadius"> + <rdfs:label xml:lang="en">first curvature radius</rdfs:label> + <rdfs:comment xml:lang="en">FirstCurvatureRadius should be defined as the base or left side radius of curvature value. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#audioVolume"> + <rdfs:label xml:lang="en">audio volume</rdfs:label> + <rdfs:comment xml:lang="en">Indicates discrete audio volume levels and corresponding sound power offsets, if applicable. Missing values may be interpolated. Measured in watts.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricMotorEfficiency"> + <rdfs:label xml:lang="en">electric motor efficiency</rdfs:label> + <rdfs:comment xml:lang="en">The ratio of output capacity to intake capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#leakageFullyClosed"> + <rdfs:label xml:lang="en">leakage fully closed</rdfs:label> + <rdfs:comment xml:lang="en">Leakage when fully closed. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalTotalPressure"> + <rdfs:label xml:lang="en">nominal total pressure</rdfs:label> + <rdfs:comment xml:lang="en">Nominal total pressure rise across the fan. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverLength"> + <rdfs:label xml:lang="en">cover length</rdfs:label> + <rdfs:comment xml:lang="en">The length measured along the x-axis in the local coordinate system or the radius (in the case of a circular shape in plan) of the cover of the oil interceptor. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#powerOutputMax"> + <rdfs:label xml:lang="en">maximum power output</rdfs:label> + <rdfs:comment xml:lang="en">The maximum output power rating of the engine. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletConnectionSize"> + <rdfs:label xml:lang="en">outlet connection size</rdfs:label> + <rdfs:comment xml:lang="en">Size of the outlet connection. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lampMaintenanceFactor"> + <rdfs:label xml:lang="en">lamp maintenance factor</rdfs:label> + <rdfs:comment xml:lang="en">Non recoverable losses of luminous flux of a lamp due to lamp depreciation i.e. the decreasing of light output of a luminaire due to aging and dirt.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalWaterVolume"> + <rdfs:label xml:lang="en">internal water volume</rdfs:label> + <rdfs:comment xml:lang="en">Internal volume of evaporator (water side). Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferSurfaceArea"> + <rdfs:label xml:lang="en">heat transfer surface area</rdfs:label> + <rdfs:comment xml:lang="en">Total heat transfer area of the vessel. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#basinReserveVolume"> + <rdfs:label xml:lang="en">basin reserve volume</rdfs:label> + <rdfs:comment xml:lang="en">Volume between operating and overflow levels in cooling tower basin. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lockedRotorCurrent"> + <rdfs:label xml:lang="en">locked rotor current</rdfs:label> + <rdfs:comment xml:lang="en">Input current when a motor armature is energized but not rotating. Usually measured in Ampere (A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#insideDiameter"> + <rdfs:label xml:lang="en">inside diameter</rdfs:label> + <rdfs:comment xml:lang="en">Actual inner diameter of the tube in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMin"> + <rdfs:label xml:lang="en">water inlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water inlet temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalRefrigerantVolume"> + <rdfs:label xml:lang="en">internal refrigerant volume</rdfs:label> + <rdfs:comment xml:lang="en">Internal volume of evaporator (refrigerant side). Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMediaSurfaceVelocity"> + <rdfs:label xml:lang="en">nominal media surface velocity</rdfs:label> + <rdfs:comment xml:lang="en">Average fluid velocity at the media surface. Usually measured in m/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#volumen"> + <rdfs:label xml:lang="en">volumen</rdfs:label> + <rdfs:comment xml:lang="en">Total volume of fluid in the tubes and their headers. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerRate"> + <rdfs:label xml:lang="en">nominal power rate</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fan power rate.Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inLineRowSpacing"> + <rdfs:label xml:lang="en">in line row spacing</rdfs:label> + <rdfs:comment xml:lang="en">In-line tube row spacing. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyDepth"> + <rdfs:label xml:lang="en">nominal body depth</rdfs:label> + <rdfs:comment xml:lang="en">Nominal or quoted =length, measured along the z-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingHumidityCooling"> + <rdfs:label xml:lang="en">nominal sorrounding humidity cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal surrounding humidity (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFrequency"> + <rdfs:label xml:lang="en">nominal frequency</rdfs:label> + <rdfs:comment xml:lang="en">The nominal frequency of the supply. Usually measured in cycles/s or Hertz (Hz).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilWidth"> + <rdfs:label xml:lang="en">coil width</rdfs:label> + <rdfs:comment xml:lang="en">Width of coil. Usually measured in millimeters (mm</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSensibleCapacity"> + <rdfs:label xml:lang="en">nominal sensible capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal sensible capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatRejectionRate"> + <rdfs:label xml:lang="en">nominal heat rejection rate</rdfs:label> + <rdfs:comment xml:lang="en">Sum of the refrigeration effect and the heat equivalent of the power input to the compressor. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryFrequency"> + <rdfs:label xml:lang="en">primary frequency</rdfs:label> + <rdfs:comment xml:lang="en">The frequency that is going to be transformed and that runs into the transformer on the primary side. Usually measured in cycles/s or Hertz (Hz).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalStaticPressure"> + <rdfs:label xml:lang="en">nominal static pressure</rdfs:label> + <rdfs:comment xml:lang="en">The static pressure within the air stream that the fan must overcome to insure designed circulation of air. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalTransmittance"> + <rdfs:label xml:lang="en">thermal transmittance</rdfs:label> + <rdfs:comment xml:lang="en">Rate at which energy is transmitted through a body. Usually measured in Watts/m2 Kelvin.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMin"> + <rdfs:label xml:lang="en">minimum part load ratio</rdfs:label> + <rdfs:comment xml:lang="en">Minimum part load ratio as a fraction of nominal capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#connectionSize"> + <rdfs:label xml:lang="en">connection size</rdfs:label> + <rdfs:comment xml:lang="en">The connection size of the to and from the pump. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyWidth"> + <rdfs:label xml:lang="en">nominal body width</rdfs:label> + <rdfs:comment xml:lang="en">Nominal or quoted length, measured along the y-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPressureDrop"> + <rdfs:label xml:lang="en">nominal pressure drop</rdfs:label> + <rdfs:comment xml:lang="en">Total pressure drop across the filter. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMax"> + <rdfs:label xml:lang="en">fluid flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Possible range of fluid flowrate that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryApparentPower"> + <rdfs:label xml:lang="en">secondary apparent power</rdfs:label> + <rdfs:comment xml:lang="en">The power in VA (volt ampere) that has been transformed and is running out of the transformer on the secondary side. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricStandardDeviation"> + <rdfs:label xml:lang="en">nominal particle geometric standard deviation</rdfs:label> + <rdfs:comment xml:lang="en">Particle geometric standard deviation associated with nominal efficiency. </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient"> + <rdfs:label xml:lang="en">nominal heat transfer coefficient</rdfs:label> + <rdfs:comment xml:lang="en">Nominal overall heat transfer coefficient associated with nominal heat transfer area. Usually measured in Watts/m2 Kelvin.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a measurement and the property such measurement is about.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryFrequency"> + <rdfs:label xml:lang="en">secondary frequency</rdfs:label> + <rdfs:comment xml:lang="en">The frequency that has been transformed and is running out of the transformer on the secondary side. Usually measured in cycles/s or Hertz (Hz).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatExchangeArea"> + <rdfs:label xml:lang="en">heat exchange area</rdfs:label> + <rdfs:comment xml:lang="en">Heat exchange area. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMin"> + <rdfs:label xml:lang="en">air flow rate range min</rdfs:label> + <rdfs:comment xml:lang="en">Minimum allowable air flow rate. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMin"> + <rdfs:label xml:lang="en">outlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatingCapacity"> + <rdfs:label xml:lang="en">nominal heating capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal heating capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureCooling"> + <rdfs:label xml:lang="en">nominal return water temperature cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal return water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalSurfaceArea"> + <rdfs:label xml:lang="en">internal surface area</rdfs:label> + <rdfs:comment xml:lang="en">Internal surface area. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#effectiveCapacity"> + <rdfs:label xml:lang="en">effective capacity</rdfs:label> + <rdfs:comment xml:lang="en">The total effective or actual volumetric capacity of the tank. Usually measured in cubic metre (m3).B3</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMoistureGain"> + <rdfs:label xml:lang="en">nominal moisture gain</rdfs:label> + <rdfs:comment xml:lang="en">Nominal rate of water vapor added into the airstream. Usually measured in kg/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#apparentPowerMax"> + <rdfs:label xml:lang="en">maximum apparent power</rdfs:label> + <rdfs:comment xml:lang="en">Maximum apparent power/capacity in VA (volt ampere). Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureHeating"> + <rdfs:label xml:lang="en">nominal sorrounding temperature heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal surrounding temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#finalResistance"> + <rdfs:label xml:lang="en">final resistance</rdfs:label> + <rdfs:comment xml:lang="en">Filter fluid resistance when replacement is required (i.e., Pressure drop at the maximum air flowrate across the filter when the filter needs replacement per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#length"> + <rdfs:label xml:lang="en">length</rdfs:label> + <rdfs:comment xml:lang="en">The finished length of the device. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#closeOffRating"> + <rdfs:label xml:lang="en">close off rating</rdfs:label> + <rdfs:comment xml:lang="en">Close off rating. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingWeight"> + <rdfs:label xml:lang="en">operating weight</rdfs:label> + <rdfs:comment xml:lang="en">Operating weight of the tank including all of its contents. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignDryBulbTemperature"> + <rdfs:label xml:lang="en">ambient design dry bulb temperature</rdfs:label> + <rdfs:comment xml:lang="en">Ambient design dry bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#initialResistance"> + <rdfs:label xml:lang="en">initial resistance</rdfs:label> + <rdfs:comment xml:lang="en">Initial new filter fluid resistance (i.e., pressure drop at the maximum air flowrate across the filter when the filter is new per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inletConnectionSize"> + <rdfs:label xml:lang="en">inlet connection size</rdfs:label> + <rdfs:comment xml:lang="en">Size of the inlet connection. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#shortCircuitVoltage"> + <rdfs:label xml:lang="en">short circuit voltage</rdfs:label> + <rdfs:comment xml:lang="en">A complex number that specifies the real and imaginary parts of the short-circuit voltage at rated current of a transformer given in %.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#netPositiveSuctionHead"> + <rdfs:label xml:lang="en">net positive suction head</rdfs:label> + <rdfs:comment xml:lang="en">Minimum liquid pressure at the pump inlet to prevent cavitation. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalVolumetricCapacity"> + <rdfs:label xml:lang="en">nominal volumetric capacity</rdfs:label> + <rdfs:comment xml:lang="en">The total nominal or design volumetric capacity of the tank. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEnergyConsumption"> + <rdfs:label xml:lang="en">nominal energy consumption</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fuel consumption rate required to produce the total boiler heat output. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryVoltage"> + <rdfs:label xml:lang="en">primary voltage</rdfs:label> + <rdfs:comment xml:lang="en">The voltage that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Volts (V, W/A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealCapacity"> + <rdfs:label xml:lang="en">ideal capacity</rdfs:label> + <rdfs:comment xml:lang="en">Compressor capacity under ideal conditions. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityWeight"> + <rdfs:label xml:lang="en">capacity weight</rdfs:label> + <rdfs:comment xml:lang="en">Capacity of the transport element measured by weight. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startCurrentFactor"> + <rdfs:label xml:lang="en">start current factor</rdfs:label> + <rdfs:comment xml:lang="en">IEC. Start current factor defines how large the peek starting current will become on the engine. StartCurrentFactor is multiplied to NominalCurrent and we get the start current.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureHeating"> + <rdfs:label xml:lang="en">nominal return water temperature heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal return water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMax"> + <rdfs:label xml:lang="en">maximum spectrum</rdfs:label> + <rdfs:comment xml:lang="en">The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#staggeredRowSpacing"> + <rdfs:label xml:lang="en">staggered row spacing</rdfs:label> + <rdfs:comment xml:lang="en">Staggered tube row spacing. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#impellerDiameter"> + <rdfs:label xml:lang="en">impeller diameter</rdfs:label> + <rdfs:comment xml:lang="en">Diameter of compressor impeller - used to scale performance of geometrically similar compressors. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMax"> + <rdfs:label xml:lang="en">water pressure range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMax"> + <rdfs:label xml:lang="en">outlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureCooling"> + <rdfs:label xml:lang="en">nominal sorrounding temperature cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal surrounding temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#teTime"> + <rdfs:label xml:lang="en">te time</rdfs:label> + <rdfs:comment xml:lang="en">The maximum time (in s) at which the motor could run with locked rotor when the motor is used in an EX-environment. The time indicates that a protective device should trip before this time when the starting current of the motor is slowing through the device.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDepth"> + <rdfs:label xml:lang="en">nominal depth</rdfs:label> + <rdfs:comment xml:lang="en">The nominal depth of the tank. Note: Not required for a horizontal cylindrical tank. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMax"> + <rdfs:label xml:lang="en">flow resistance range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startingTime"> + <rdfs:label xml:lang="en">starting time</rdfs:label> + <rdfs:comment xml:lang="en">The time (in s) needed for the motor to reach its rated speed with its driven equipment attached, starting from standstill and at the nominal voltage applied at its terminals.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationalRiterial"> + <rdfs:label xml:lang="en">operational riterial</rdfs:label> + <rdfs:comment xml:lang="en">Time of operation at maximum operational ambient air temperature. Measured in seconds (s) or days (d) or other units of time.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerConsumption"> + <rdfs:label xml:lang="en">nominal power consumption</rdfs:label> + <rdfs:comment xml:lang="en">Nominal total power consumption. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#externalSurfaceArea"> + <rdfs:label xml:lang="en">external surface area</rdfs:label> + <rdfs:comment xml:lang="en">External surface area (both primary and secondary area). Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#manualOverride"> + <rdfs:label xml:lang="en">manual override</rdfs:label> + <rdfs:comment xml:lang="en">Identifies whether hand-operated operation is provided as an override (= TRUE) or not (= FALSE). Note that this value should be set to FALSE by default in the case of a Hand Operated Actuator.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCells"> + <rdfs:label xml:lang="en">number of cells</rdfs:label> + <rdfs:comment xml:lang="en">Number of cells in one cooling tower unit.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isExternal"> + <rdfs:label xml:lang="en">is external</rdfs:label> + <rdfs:comment xml:lang="en">Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#accessType"> + <rdfs:label xml:lang="en">access type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the types of access (or cover) to a tank that may be specified. Note that covers are generally specified for rectangular tanks. For cylindrical tanks, access will normally be via a manhole.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferMedium"> + <rdfs:label xml:lang="en">heat transfer medium</rdfs:label> + <rdfs:comment xml:lang="en">Enumeration defining the heat transfer medium if applicable.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isFreeHanging"> + <rdfs:label xml:lang="en">is free hanging</rdfs:label> + <rdfs:comment xml:lang="en">Is it free hanging type (not mounted in a false ceiling)?</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferTypeEnum"> + <rdfs:label xml:lang="en">heat transfer type enum</rdfs:label> + <rdfs:comment xml:lang="en">Type of heat transfer between the two air streams.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfSections"> + <rdfs:label xml:lang="en">number of sections</rdfs:label> + <rdfs:comment xml:lang="en">Number of sections used.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferDimension"> + <rdfs:label xml:lang="en">heat transfer dimension</rdfs:label> + <rdfs:comment xml:lang="en">Indicates how heat is transmitted according to the shape of the space heater.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationCoolant"> + <rdfs:label xml:lang="en">evaporation coolant</rdfs:label> + <rdfs:comment xml:lang="en">The fluid used for the coolant in the evaporator.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasHotGasBypass"> + <rdfs:label xml:lang="en">has hot gas bypass</rdfs:label> + <rdfs:comment xml:lang="en">Whether or not hot gas bypass is provided for the compressor. TRUE = Yes, FALSE = No.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operation"> + <rdfs:label xml:lang="en">operation</rdfs:label> + <rdfs:comment xml:lang="en">The operational mechanism for the damper operation.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#roughness"> + <rdfs:label xml:lang="en">roughness</rdfs:label> + <rdfs:comment xml:lang="en">A measure of the vertical deviations of the surface.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOsSockets"> + <rdfs:label xml:lang="en">number os sockets</rdfs:label> + <rdfs:comment xml:lang="en">The number of sockets that may be connected. In case of inconsistency, sockets defined on ports take precedence.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasDefrost"> + <rdfs:label xml:lang="en">has defrost</rdfs:label> + <rdfs:comment xml:lang="en">Whether the heat exchanger has defrost function or not.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mechanicalOperated"> + <rdfs:label xml:lang="en">mechanical operated</rdfs:label> + <rdfs:comment xml:lang="en">Indication whether the element is operated machanically (TRUE) or not, i.e. manually (FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationMediumType"> + <rdfs:label xml:lang="en">evaporation medium type</rdfs:label> + <rdfs:comment xml:lang="en">ColdLiquid: Evaporator is using liquid type of fluid to exchange heat with refrigerant. ColdAir: Evaporator is using air to exchange heat with refrigerant.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorAppearance"> + <rdfs:label xml:lang="en">color appearance</rdfs:label> + <rdfs:comment xml:lang="en">In both the DIN and CIE standards, artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#application"> + <rdfs:label xml:lang="en">application</rdfs:label> + <rdfs:comment xml:lang="en">Humidifier application. Fixed: Humidifier installed in a ducted flow distribution system. Portable: Humidifier is not installed in a ducted flow distribution system.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#waterFlowControlSystemType"> + <rdfs:label xml:lang="en">water flow control system type</rdfs:label> + <rdfs:comment xml:lang="en">Factory fitted waterflow control system.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isGuarded"> + <rdfs:label xml:lang="en">is guarded</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether the motor enclosure is guarded (= TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingMode"> + <rdfs:label xml:lang="en">operating mode</rdfs:label> + <rdfs:comment xml:lang="en">Identifies the operating mode of the boiler.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#endShapeType"> + <rdfs:label xml:lang="en">end shape type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the types of end shapes that can be used for preformed tanks. The convention for reading these enumerated values is that for a vertical cylinder, the first value is the base and the second is the top for a horizontal cylinder, the order of reading should be left to right. For a speherical tank, the value UNSET should be used.B5</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralSecondaryTerminalAvailable"> + <rdfs:label xml:lang="en">is neutral secondary terminal available</rdfs:label> + <rdfs:comment xml:lang="en">An indication of whether the neutral point of the secondary winding is available as a terminal (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#finishColor"> + <rdfs:label xml:lang="en">finish color</rdfs:label> + <rdfs:comment xml:lang="en">Finish color for cooled beam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#readOutType"> + <rdfs:label xml:lang="en">read out type</rdfs:label> + <rdfs:comment xml:lang="en">Indication of the form that readout from the meter takes. In the case of a dial read out, this may comprise multiple dials that give a cumulative reading and/or a mechanical odometer.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#integratedLightingType"> + <rdfs:label xml:lang="en">integrated lighting type</rdfs:label> + <rdfs:comment xml:lang="en">Integrated lighting in cooled beam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#transformerVectorGroup"> + <rdfs:label xml:lang="en">transformer vector group</rdfs:label> + <rdfs:comment xml:lang="en">List of the possible vector groups for the transformer from which that required may be set. Values in the enumeration list follow a standard international code where the first letter describes how the primary windings are connected, the second letter describes how the secondary windings are connected, and the numbers describe the rotation of voltages and currents from the primary to the secondary side in multiples of 30 degrees. D: means that the windings are delta-connected. Y: means that the windings are star-connected. Z: means that the windings are zig-zag connected (a special start-connected providing low reactance of the transformer). The connectivity is only relevant for three-phase transformers.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasExteriorInsulation"> + <rdfs:label xml:lang="en">has exterior insulation</rdfs:label> + <rdfs:comment xml:lang="en">TRUE if the silencer has exterior insulation. FALSE if it does not.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#circuitType"> + <rdfs:label xml:lang="en">circuit type</rdfs:label> + <rdfs:comment xml:lang="en">OpenCircuit: Exposes water directly to the cooling atmosphere. CloseCircuit: The fluid is separated from the atmosphere by a heat exchanger. Wet: The air stream or the heat exchange surface is evaporatively cooled. Dry: No evaporation into the air stream. DryWet: A combination of a dry tower and a wet tower.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeShape"> + <rdfs:label xml:lang="en">blade shape</rdfs:label> + <rdfs:comment xml:lang="en">Blade shape. Flat means triple V-groove.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valvePattern"> + <rdfs:label xml:lang="en">valve pattern</rdfs:label> + <rdfs:comment xml:lang="en">The configuration of the ports of a valve according to either the linear route taken by a fluid flowing through the valve or by the number of ports where: SINGLEPORT: Valve that has a single entry port from the system that it serves, the exit port being to the surrounding environment. ANGLED_2_PORT: Valve in which the direction of flow is changed through 90 degrees. STRAIGHT_2_PORT: Valve in which the flow is straight through. STRAIGHT_3_PORT: Valve with three separate ports. CROSSOVER_4_PORT: Valve with 4 separate ports.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#standard"> + <rdfs:label xml:lang="en">standard</rdfs:label> + <rdfs:comment xml:lang="en">The designation of the standard applicable for the definition of the characteristics of the unit.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameType"> + <rdfs:label xml:lang="en">frame type</rdfs:label> + <rdfs:comment xml:lang="en">The type of frame used by the damper (e.g., Standard, Single Flange, Single Reversed Flange, Double Flange, etc.).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorRenderingIndex"> + <rdfs:label xml:lang="en">color rendering index</rdfs:label> + <rdfs:comment xml:lang="en">The CRI indicates how well a light source renders eight standard colors compared to perfect reference lamp with the same color temperature. The CRI scale ranges from 1 to 100, with 100 representing perfect rendering properties.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#placementType"> + <rdfs:label xml:lang="en">placement type</rdfs:label> + <rdfs:comment xml:lang="en">Indicates how the device is designed to be placed.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityPeople"> + <rdfs:label xml:lang="en">capacity people</rdfs:label> + <rdfs:comment xml:lang="en">Capacity of the transportation element measured in numbers of person.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#patternType"> + <rdfs:label xml:lang="en">pattern type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the types of pattern (or shape of a tank that may be specified.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mediaSource"> + <rdfs:label xml:lang="en">media source</rdfs:label> + <rdfs:comment xml:lang="en">Indicates media sources and corresponding names of ports (DistributionPort with FlowDirection=SINK and PredefinedType=AUDIOVISUAL) or aggregated audio/video components (AudioVisualAppliance).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#arrangement"> + <rdfs:label xml:lang="en">arrangement</rdfs:label> + <rdfs:comment xml:lang="en">Defines the basic flow arrangements for the heat exchanger: COUNTERFLOW: Counterflow heat exchanger arrangement. CROSSFLOW: Crossflow heat exchanger arrangement. PARALLELFLOW: Parallel flow heat exchanger arrangement. MULTIPASS: Multipass flow heat exchanger arrangement. OTHER: Other type of heat exchanger flow arrangement not defined above.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship defining the value of a certain property, e.g., energy or power</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#powerSource"> + <rdfs:label xml:lang="en">power source</rdfs:label> + <rdfs:comment xml:lang="en">Type of power driving the compressor.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameSize"> + <rdfs:label xml:lang="en">frame size</rdfs:label> + <rdfs:comment xml:lang="en">Designation of the frame size according to the named range of frame sizes designated at the place of use or according to a given standard.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#shadingDeviceType"> + <rdfs:label xml:lang="en">shading device type</rdfs:label> + <rdfs:comment xml:lang="en">Specifies the type of shading device.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControlType"> + <rdfs:label xml:lang="en">capacity control type</rdfs:label> + <rdfs:comment xml:lang="en">InletVane: Control by adjusting inlet vane. VariableSpeedDrive: Control by variable speed drive. BladePitchAngle: Control by adjusting blade pitch angle. TwoSpeed: Control by switch between high and low speed. DischargeDamper: Control by modulating discharge damper.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#controlStrategy"> + <rdfs:label xml:lang="en">control strategy</rdfs:label> + <rdfs:comment xml:lang="en">FixedExitingWaterTemp: The capacity is controlled to maintain a fixed exiting water temperature. WetBulbTempReset: The set-point is reset based on the wet-bulb temperature.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#fireExit"> + <rdfs:label xml:lang="en">fire exit</rdfs:label> + <rdfs:comment xml:lang="en">Indication whether this object is designed to serve as an exit in the case of fire (TRUE) or not (FALSE). Here whether the transport element (in case of e.g., a lift) is designed to serve as a fire exit, e.g., for fire escape purposes.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfBlades"> + <rdfs:label xml:lang="en">number of blades</rdfs:label> + <rdfs:comment xml:lang="en">Number of blades.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#orientation"> + <rdfs:label xml:lang="en">orientation</rdfs:label> + <rdfs:comment xml:lang="en">The intended orientation for the damper as specified by the manufacturer.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorDriveType"> + <rdfs:label xml:lang="en">motor drive type</rdfs:label> + <rdfs:comment xml:lang="en">Motor drive type: DIRECTDRIVE: Direct drive. BELTDRIVE: Belt drive. COUPLING: Coupling. OTHER: Other type of motor drive. UNKNOWN: Unknown motor drive type. </rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfRows"> + <rdfs:label xml:lang="en">number of rows</rdfs:label> + <rdfs:comment xml:lang="en">Number of tube rows in the tube bundle assembly.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"> + <rdfs:label xml:lang="en">energy source</rdfs:label> + <rdfs:comment xml:lang="en">The source of energy.</rdfs:comment> + <rdfs:comment xml:lang="en">Enumeration defining the energy source or fuel cumbusted to generate heat.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveOperation"> + <rdfs:label xml:lang="en">valve operation</rdfs:label> + <rdfs:comment xml:lang="en">The method of valve operation where: DROPWEIGHT: A valve that is closed by the action of a weighted lever being released, the weight normally being prevented from dropping by being held by a wire, the closure normally being made by the action of heat on a fusible link in the wire FLOAT: A valve that is opened and closed by the action of a float that rises and falls with water level. The float may be a ball attached to a lever or other mechanism HYDRAULIC: A valve that is opened and closed by hydraulic actuation LEVER: A valve that is opened and closed by the action of a lever rotating the gate within the valve. LOCKSHIELD: A valve that requires the use of a special lockshield key for opening and closing, the operating mechanism being protected by a shroud during normal operation. MOTORIZED: A valve that is opened and closed by the action of an electric motor on an actuator PNEUMATIC: A valve that is opened and closed by pneumatic actuation SOLENOID: A valve that is normally held open by a magnetic field in a coil acting on the gate but that is closed immediately if the electrical current generating the magnetic field is removed. SPRING: A valve that is normally held in position by the pressure of a spring on a plate but that may be caused to open if the pressure of the fluid is sufficient to overcome the spring pressure. THERMOSTATIC: A valve in which the ports are opened or closed to maintain a required predetermined temperature. WHEEL: A valve that is opened and closed by the action of a wheel moving the gate within the valve.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#failPosition"> + <rdfs:label xml:lang="en">fail position</rdfs:label> + <rdfs:comment xml:lang="en">Specifies the required fail-safe position of the actuator.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isWaterStorageHeater"> + <rdfs:label xml:lang="en">is water storage heater</rdfs:label> + <rdfs:comment xml:lang="en">This is used to identify if the boiler has storage capacity (TRUE). If FALSE, then there is no storage capacity built into the boiler, such as an instantaneous hot water heater.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampCompensationType"> + <rdfs:label xml:lang="en">lamp compensation type</rdfs:label> + <rdfs:comment xml:lang="en">Identifies the form of compensation used for power factor correction and radio suppression.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#internalControl"> + <rdfs:label xml:lang="en">internal control</rdfs:label> + <rdfs:comment xml:lang="en">Internal modulation control.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureClassification"> + <rdfs:label xml:lang="en">temperature classification</rdfs:label> + <rdfs:comment xml:lang="en">Enumeration defining the temperature classification of the space heater surface temperature. low temperature - surface temperature is relatively low, usually heated by hot water or electricity. high temperature - surface temperature is relatively high, usually heated by gas or steam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveMechanism"> + <rdfs:label xml:lang="en">valve mechanism</rdfs:label> + <rdfs:comment xml:lang="en">The mechanism by which the valve function is achieved where: BALL: Valve that has a ported ball that can be turned relative to the body seat ports. BUTTERFLY: Valve in which a streamlined disc pivots about a diametric axis. CONFIGUREDGATE: Screwdown valve in which the closing gate is shaped in a configured manner to have a more precise control of pressure and flow change across the valve. GLAND: Valve with a tapered seating, in which a rotatable plug is retained by means of a gland and gland packing. GLOBE: Screwdown valve that has a spherical body. LUBRICATEDPLUG: Plug valve in which a lubricant is injected under pressure between the plug face and the body. NEEDLE: Valve for regulating the flow in or from a pipe, in which a slender cone moves along the axis of flow to close against a fixed conical seat. PARALLELSLIDE: Screwdown valve that has a machined plate that slides in formed grooves to form a seal. PLUG: Valve that has a ported plug that can be turned relative to the body seat ports. WEDGEGATE: Screwdown valve that has a wedge shaped plate fitting into tapered guides to form a seal.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasLock"> + <rdfs:label xml:lang="en">has lock</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether a switching device has a key operated lock (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfPanels"> + <rdfs:label xml:lang="en">number of panels</rdfs:label> + <rdfs:comment xml:lang="en">Number of panels.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasPartWinding"> + <rdfs:label xml:lang="en">has part winding</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether the motor is single speed, i.e. has a single winding (= FALSE) or multi-speed i.e.has part winding (= TRUE) .</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#pipeConnectionEnum"> + <rdfs:label xml:lang="en">pipe connection enum</rdfs:label> + <rdfs:comment xml:lang="en">The manner in which the pipe connection is made to the cooled beam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControl"> + <rdfs:label xml:lang="en">capacity control</rdfs:label> + <rdfs:comment xml:lang="en">FanCycling: Fan is cycled on and off to control duty. TwoSpeedFan: Fan is switched between low and high speed to control duty. VariableSpeedFan: Fan speed is varied to control duty. DampersControl: Dampers modulate the air flow to control duty. BypassValveControl: Bypass valve modulates the water flow to control duty. MultipleSeriesPumps: Turn on/off multiple series pump to control duty. TwoSpeedPump: Switch between high/low pump speed to control duty. VariableSpeedPump: vary pump speed to control duty.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#flowArrangement"> + <rdfs:label xml:lang="en">flow arrangement</rdfs:label> + <rdfs:comment xml:lang="en">CounterFlow: Air and water flow enter in different directions. CrossFlow: Air and water flow are perpendicular. ParallelFlow: air and water flow enter in same directions.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#switchFunction"> + <rdfs:label xml:lang="en">switch function</rdfs:label> + <rdfs:comment xml:lang="en">Indicates types of switches which differs in functionality.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCircuits"> + <rdfs:label xml:lang="en">number of circuits</rdfs:label> + <rdfs:comment xml:lang="en">Number of parallel fluid tube circuits.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#storageType"> + <rdfs:label xml:lang="en">storage type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the general material category intended to be stored.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isPluggableOutlet"> + <rdfs:label xml:lang="en">is pluggable outlet</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether the outlet accepts a loose plug connection (= TRUE) or whether it is directly connected (= FALSE) or whether the form of connection has not yet been determined (= UNKNOWN).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#sprayType"> + <rdfs:label xml:lang="en">spray type</rdfs:label> + <rdfs:comment xml:lang="en">SprayFilled: Water is sprayed into airflow. SplashTypeFill: water cascades over successive rows of splash bars. FilmTypeFill: water flows in a thin layer over closely spaced sheets.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeEdge"> + <rdfs:label xml:lang="en">blade edge</rdfs:label> + <rdfs:comment xml:lang="en">Blade edge.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"> + <rdfs:label xml:lang="en">refrigerant class</rdfs:label> + <rdfs:comment xml:lang="en">Refrigerant class used by the compressor. CFC: Chlorofluorocarbons. HCFC: Hydrochlorofluorocarbons. HFC: Hydrofluorocarbons.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasTurbulator"> + <rdfs:label xml:lang="en">has turbulator</rdfs:label> + <rdfs:comment xml:lang="en">TRUE if the tube has a turbulator, FALSE if it does not.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampBallastType"> + <rdfs:label xml:lang="en">lamp ballast type</rdfs:label> + <rdfs:comment xml:lang="en">The type of ballast used to stabilise gas discharge by limiting the current during operation and to deliver the necessary striking voltage for starting. Ballasts are needed to operate Discharge Lamps such as Fluorescent, Compact Fluorescent, High-pressure Mercury, Metal Halide and High-pressure Sodium Lamps. Magnetic ballasts are chokes which limit the current passing through a lamp connected in series on the principle of self-induction. The resultant current and power are decisive for the efficient operation of the lamp. A specially designed ballast is required for every type of lamp to comply with lamp rating in terms of Luminous Flux, Color Appearance and service life. The two types of magnetic ballasts for fluorescent lamps are KVG Conventional (EC-A series) and VVG Low-loss ballasts (EC-B series). Low-loss ballasts have a higher efficiency, which means reduced ballast losses and a lower thermal load. Electronic ballasts are used to run fluorescent lamps at high frequencies (approx. 35 - 40 kHz).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#legend"> + <rdfs:label xml:lang="en">legend</rdfs:label> + <rdfs:comment xml:lang="en">A text inscribed or applied to the switch as a legend to indicate purpose or function.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorEnclosureType"> + <rdfs:label xml:lang="en">motor enclosure type</rdfs:label> + <rdfs:comment xml:lang="en">A list of the available types of motor enclosure from which that required may be selected.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#remoteReading"> + <rdfs:label xml:lang="en">remote reading</rdfs:label> + <rdfs:comment xml:lang="en">Indicates whether the meter has a connection for remote reading through connection of a communication device (set TRUE) or not (set FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isIlluminated"> + <rdfs:label xml:lang="en">is illuminated</rdfs:label> + <rdfs:comment xml:lang="en">An indication of whether there is an illuminated indicator to show that the switch is on (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeAction"> + <rdfs:label xml:lang="en">blade action</rdfs:label> + <rdfs:comment xml:lang="en">Blade action.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfGangs"> + <rdfs:label xml:lang="en">number of gangs</rdfs:label> + <rdfs:comment xml:lang="en">Number of gangs/buttons on this switch.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralPrimaryTerminalAvailable"> + <rdfs:label xml:lang="en">is neutral primary terminal available</rdfs:label> + <rdfs:comment xml:lang="en">An indication of whether the neutral point of the primary winding is available as a terminal (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrentType"> + <rdfs:label xml:lang="en">secondary current type</rdfs:label> + <rdfs:comment xml:lang="en">A list of the secondary current types that can result from transformer output.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#contains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical space and the objects located in such space.</rdfs:comment> + <owl:inverseOf> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isContainedIn"/> + </owl:inverseOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#hasSpace"> + <rdfs:label xml:lang="en">has space</rdfs:label> + <rdfs:comment xml:lang="en">Relation between a building or a building space and the spaces it can be divided into.</rdfs:comment> + <owl:inverseOf> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isSpaceOf"/> + </owl:inverseOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isSpaceOf"> + <rdfs:label xml:lang="en">isSpaceOf</rdfs:label> + <rdfs:comment xml:lang="en">Relation between a building space and the building or building space it belongs to.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isContainedIn"> + <rdfs:label xml:lang="en">is contained in</rdfs:label> + <rdfs:comment xml:lang="en">A relation between an object and the physical space in which it is located.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/rightsHolder"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/dateCopyrighted"/> + <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#hadPrimarySource"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.ttl b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.ttl new file mode 100644 index 0000000000000000000000000000000000000000..9842012381e2d9249af521b985f57d6896825176 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/latest/saref4bldg.ttl @@ -0,0 +1,4248 @@ +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@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 prov: <http://www.w3.org/ns/prov#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix saref: <https://w3id.org/saref#> . +@prefix dcterms: <http://purl.org/dc/terms/> . + +<https://saref.etsi.org/saref4bldg#> a owl:Ontology ; + dcterms:title "SAREF extension for building devices"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4bldg/v1.1.1/saref4bldg#> ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4bldg#" ; + vann:preferredNamespacePrefix "s4bldg" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341003/01.01.01_60/ts_10341003v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4bldg/> ; + dcterms:description "This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation."@en ; + dcterms:publisher <https://www.etsi.org/> . + +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://purl.org/dc/terms/creator + +dcterms:creator a owl:AnnotationProperty . +# +# http://purl.org/dc/terms/dateCopyrighted + +dcterms:dateCopyrighted a owl:AnnotationProperty . +# +# http://purl.org/dc/terms/rightsHolder + +dcterms:rightsHolder a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespacePrefix + +vann:preferredNamespacePrefix a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespaceUri + +vann:preferredNamespaceUri a owl:AnnotationProperty . +# +# http://www.w3.org/ns/prov#hadPrimarySource + +prov:hadPrimarySource a owl:AnnotationProperty . +# +# +# +# ################################################################# +# # +# # Datatypes +# # +# ################################################################# +# +# +# http://www.w3.org/2001/XMLSchema#duration + +xsd:duration a rdfs:Datatype . +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> a owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "location"@en . +# +# https://saref.etsi.org/saref4bldg#airFlowRateMax + +s4bldg:airFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Maximum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range max"@en . +# +# https://saref.etsi.org/saref4bldg#airFlowRateMin + +s4bldg:airFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Minimum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range min"@en . +# +# https://saref.etsi.org/saref4bldg#ambientDesignDryBulbTemperature + +s4bldg:ambientDesignDryBulbTemperature a owl:ObjectProperty ; + rdfs:comment "Ambient design dry bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design dry bulb temperature"@en . +# +# https://saref.etsi.org/saref4bldg#ambientDesignWetBulbTemperature + +s4bldg:ambientDesignWetBulbTemperature a owl:ObjectProperty ; + rdfs:comment "Ambient design wet bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design wet bulb temperature"@en . +# +# https://saref.etsi.org/saref4bldg#apparentPowerMax + +s4bldg:apparentPowerMax a owl:ObjectProperty ; + rdfs:comment "Maximum apparent power/capacity in VA (volt ampere). Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum apparent power"@en . +# +# https://saref.etsi.org/saref4bldg#audioVolume + +s4bldg:audioVolume a owl:ObjectProperty ; + rdfs:comment "Indicates discrete audio volume levels and corresponding sound power offsets, if applicable. Missing values may be interpolated. Measured in watts."@en ; + rdfs:label "audio volume"@en . +# +# https://saref.etsi.org/saref4bldg#basinReserveVolume + +s4bldg:basinReserveVolume a owl:ObjectProperty ; + rdfs:comment "Volume between operating and overflow levels in cooling tower basin. Usually measured in cubic metre (m3)."@en ; + rdfs:label "basin reserve volume"@en . +# +# https://saref.etsi.org/saref4bldg#bladeThickness + +s4bldg:bladeThickness a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper blade. Usually measured in millimeters (mm)."@en ; + rdfs:label "blade thickness"@en . +# +# https://saref.etsi.org/saref4bldg#bodyMass + +s4bldg:bodyMass a owl:ObjectProperty ; + rdfs:comment "Overall body mass of the heater. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "body mass"@en . +# +# https://saref.etsi.org/saref4bldg#capacityWeight + +s4bldg:capacityWeight a owl:ObjectProperty ; + rdfs:comment "Capacity of the transport element measured by weight. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "capacity weight"@en . +# +# https://saref.etsi.org/saref4bldg#closeOffRating + +s4bldg:closeOffRating a owl:ObjectProperty ; + rdfs:comment "Close off rating. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "close off rating"@en . +# +# https://saref.etsi.org/saref4bldg#coilLength + +s4bldg:coilLength a owl:ObjectProperty ; + rdfs:comment "Length of coil. Usually measured in millimeters (mm)."@en ; + rdfs:label "coil length"@en . +# +# https://saref.etsi.org/saref4bldg#coilWidth + +s4bldg:coilWidth a owl:ObjectProperty ; + rdfs:comment "Width of coil. Usually measured in millimeters (mm"@en ; + rdfs:label "coil width"@en . +# +# https://saref.etsi.org/saref4bldg#colorTemperature + +s4bldg:colorTemperature a owl:ObjectProperty ; + rdfs:comment "The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "color temperature"@en . +# +# https://saref.etsi.org/saref4bldg#compressorSpeed + +s4bldg:compressorSpeed a owl:ObjectProperty ; + rdfs:comment "Compressor speed. Usually measured in cycles/s."@en ; + rdfs:label "compressor speed"@en . +# +# https://saref.etsi.org/saref4bldg#connectionSize + +s4bldg:connectionSize a owl:ObjectProperty ; + rdfs:comment "The connection size of the to and from the pump. Usually measured in millimeters (mm)."@en ; + rdfs:label "connection size"@en . +# +# https://saref.etsi.org/saref4bldg#contains + +s4bldg:contains a owl:ObjectProperty ; + owl:inverseOf s4bldg:isContainedIn ; + a owl:TransitiveProperty ; + rdfs:comment "A relation between a physical space and the objects located in such space."@en ; + rdfs:label "contains"@en . +# +# https://saref.etsi.org/saref4bldg#contributedLuminousFlux + +s4bldg:contributedLuminousFlux a owl:ObjectProperty ; + rdfs:comment "Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. Usually measured in Lumen (lm, Candela Steradian)."@en ; + rdfs:label "contributed luminous flux"@en . +# +# https://saref.etsi.org/saref4bldg#coverLength + +s4bldg:coverLength a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system or the radius (in the case of a circular shape in plan) of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover length"@en . +# +# https://saref.etsi.org/saref4bldg#coverWidth + +s4bldg:coverWidth a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover width"@en . +# +# https://saref.etsi.org/saref4bldg#effectiveCapacity + +s4bldg:effectiveCapacity a owl:ObjectProperty ; + rdfs:comment "The total effective or actual volumetric capacity of the tank. Usually measured in cubic metre (m3).B3"@en ; + rdfs:label "effective capacity"@en . +# +# https://saref.etsi.org/saref4bldg#electricGeneratorEfficiency + +s4bldg:electricGeneratorEfficiency a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric generator efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#electricMotorEfficiency + +s4bldg:electricMotorEfficiency a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric motor efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#externalSurfaceArea + +s4bldg:externalSurfaceArea a owl:ObjectProperty ; + rdfs:comment "External surface area (both primary and secondary area). Usually measured in square metre (m2)."@en ; + rdfs:label "external surface area"@en . +# +# https://saref.etsi.org/saref4bldg#faceArea + +s4bldg:faceArea a owl:ObjectProperty ; + rdfs:comment "Face area open to the airstream. Usually measured in square metre (m2)."@en ; + rdfs:label "face area"@en . +# +# https://saref.etsi.org/saref4bldg#finalResistance + +s4bldg:finalResistance a owl:ObjectProperty ; + rdfs:comment "Filter fluid resistance when replacement is required (i.e., Pressure drop at the maximum air flowrate across the filter when the filter needs replacement per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "final resistance"@en . +# +# https://saref.etsi.org/saref4bldg#firstCurvatureRadius + +s4bldg:firstCurvatureRadius a owl:ObjectProperty ; + rdfs:comment "FirstCurvatureRadius should be defined as the base or left side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "first curvature radius"@en . +# +# https://saref.etsi.org/saref4bldg#flowCoefficient + +s4bldg:flowCoefficient a owl:ObjectProperty ; + rdfs:comment "Flow coefficient (the quantity of fluid that passes through a fully open valve at unit pressure drop), typically expressed as the Kv or Cv value for the valve."@en ; + rdfs:label "flow coefficient"@en . +# +# https://saref.etsi.org/saref4bldg#flowResistanceMax + +s4bldg:flowResistanceMax a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . +# +# https://saref.etsi.org/saref4bldg#flowResistanceMin + +s4bldg:flowResistanceMin a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . +# +# https://saref.etsi.org/saref4bldg#fluidFlowRateMax + +s4bldg:fluidFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#fluidFlowRateMin + +s4bldg:fluidFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#foulingFactor + +s4bldg:foulingFactor a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "fouling factor"@en . +# +# https://saref.etsi.org/saref4bldg#frameDepth + +s4bldg:frameDepth a owl:ObjectProperty ; + rdfs:comment "The length (or depth) of the damper frame. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame depth"@en . +# +# https://saref.etsi.org/saref4bldg#frameThickness + +s4bldg:frameThickness a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper frame material. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame thickness"@en . +# +# https://saref.etsi.org/saref4bldg#hasSpace + +s4bldg:hasSpace a owl:ObjectProperty ; + owl:inverseOf s4bldg:isSpaceOf ; + a owl:TransitiveProperty ; + rdfs:comment "Relation between a building or a building space and the spaces it can be divided into."@en ; + rdfs:label "has space"@en . +# +# https://saref.etsi.org/saref4bldg#heatExchangeArea + +s4bldg:heatExchangeArea a owl:ObjectProperty ; + rdfs:comment "Heat exchange area. Usually measured in square metre (m2)."@en ; + rdfs:label "heat exchange area"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferSurfaceArea + +s4bldg:heatTransferSurfaceArea a owl:ObjectProperty ; + rdfs:comment "Total heat transfer area of the vessel. Usually measured in square metre (m2)."@en ; + rdfs:label "heat transfer surface area"@en . +# +# https://saref.etsi.org/saref4bldg#height + +s4bldg:height a owl:ObjectProperty ; + rdfs:comment "Height of the vibration isolator before tha application of load. Usually measured in millimeters (mm)."@en ; + rdfs:label "height"@en . +# +# https://saref.etsi.org/saref4bldg#horizontalSpacing + +s4bldg:horizontalSpacing a owl:ObjectProperty ; + rdfs:comment "Horizontal spacing between tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "horizontal spacing"@en . +# +# https://saref.etsi.org/saref4bldg#hydraulicDiameter + +s4bldg:hydraulicDiameter a owl:ObjectProperty ; + rdfs:comment "Hydraulic diameter. Usually measured in millimeters (mm)."@en ; + rdfs:label "hydraulic diameter"@en . +# +# https://saref.etsi.org/saref4bldg#idealCapacity + +s4bldg:idealCapacity a owl:ObjectProperty ; + rdfs:comment "Compressor capacity under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal capacity"@en . +# +# https://saref.etsi.org/saref4bldg#idealShaftPower + +s4bldg:idealShaftPower a owl:ObjectProperty ; + rdfs:comment "Compressor shaft power under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal shaft power"@en . +# +# https://saref.etsi.org/saref4bldg#imaginaryImpedanceRatio + +s4bldg:imaginaryImpedanceRatio a owl:ObjectProperty ; + rdfs:comment "The ratio between the imaginary part of the zero sequence impedance and the imaginary part of the positive impedance (i.e. imaginary part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "imaginary impedance ratio"@en . +# +# https://saref.etsi.org/saref4bldg#impellerDiameter + +s4bldg:impellerDiameter a owl:ObjectProperty ; + rdfs:comment "Diameter of compressor impeller - used to scale performance of geometrically similar compressors. Usually measured in millimeters (mm)."@en ; + rdfs:label "impeller diameter"@en . +# +# https://saref.etsi.org/saref4bldg#inLineRowSpacing + +s4bldg:inLineRowSpacing a owl:ObjectProperty ; + rdfs:comment "In-line tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "in line row spacing"@en . +# +# https://saref.etsi.org/saref4bldg#initialResistance + +s4bldg:initialResistance a owl:ObjectProperty ; + rdfs:comment "Initial new filter fluid resistance (i.e., pressure drop at the maximum air flowrate across the filter when the filter is new per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "initial resistance"@en . +# +# https://saref.etsi.org/saref4bldg#inletConnectionSize + +s4bldg:inletConnectionSize a owl:ObjectProperty ; + rdfs:comment "Size of the inlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "inlet connection size"@en . +# +# https://saref.etsi.org/saref4bldg#insideDiameter + +s4bldg:insideDiameter a owl:ObjectProperty ; + rdfs:comment "Actual inner diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "inside diameter"@en . +# +# https://saref.etsi.org/saref4bldg#internalRefrigerantVolume + +s4bldg:internalRefrigerantVolume a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (refrigerant side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal refrigerant volume"@en . +# +# https://saref.etsi.org/saref4bldg#internalSurfaceArea + +s4bldg:internalSurfaceArea a owl:ObjectProperty ; + rdfs:comment "Internal surface area. Usually measured in square metre (m2)."@en ; + rdfs:label "internal surface area"@en . +# +# https://saref.etsi.org/saref4bldg#internalWaterVolume + +s4bldg:internalWaterVolume a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (water side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal water volume"@en . +# +# https://saref.etsi.org/saref4bldg#isContainedIn + +s4bldg:isContainedIn a owl:ObjectProperty , owl:TransitiveProperty ; + rdfs:comment "A relation between an object and the physical space in which it is located."@en ; + rdfs:label "is contained in"@en . +# +# https://saref.etsi.org/saref4bldg#isSpaceOf + +s4bldg:isSpaceOf a owl:ObjectProperty , owl:TransitiveProperty ; + rdfs:comment "Relation between a building space and the building or building space it belongs to."@en ; + rdfs:label "isSpaceOf"@en . +# +# https://saref.etsi.org/saref4bldg#isolatorCompressibility + +s4bldg:isolatorCompressibility a owl:ObjectProperty ; + rdfs:comment "The compressibility of the vibration isolator."@en ; + rdfs:label "isolator compressibility"@en . +# +# https://saref.etsi.org/saref4bldg#isolatorStaticDeflection + +s4bldg:isolatorStaticDeflection a owl:ObjectProperty ; + rdfs:comment "Static deflection of the vibration isolator. Usually measured in millimeters (mm)."@en ; + rdfs:label "isolator static deflection"@en . +# +# https://saref.etsi.org/saref4bldg#lampMaintenanceFactor + +s4bldg:lampMaintenanceFactor a owl:ObjectProperty ; + rdfs:comment "Non recoverable losses of luminous flux of a lamp due to lamp depreciation i.e. the decreasing of light output of a luminaire due to aging and dirt."@en ; + rdfs:label "lamp maintenance factor"@en . +# +# https://saref.etsi.org/saref4bldg#leakageFullyClosed + +s4bldg:leakageFullyClosed a owl:ObjectProperty ; + rdfs:comment "Leakage when fully closed. Usually measured in m3/s."@en ; + rdfs:label "leakage fully closed"@en . +# +# https://saref.etsi.org/saref4bldg#length + +s4bldg:length a owl:ObjectProperty ; + rdfs:comment "The finished length of the device. Usually measured in millimeters (mm)."@en ; + rdfs:label "length"@en . +# +# https://saref.etsi.org/saref4bldg#liftElevationDifference + +s4bldg:liftElevationDifference a owl:ObjectProperty ; + rdfs:comment "Elevation difference between cooling tower sump and the top of the tower. Usually measured in millimeters (mm)."@en ; + rdfs:label "lift elevation difference"@en . +# +# https://saref.etsi.org/saref4bldg#lightEmitterNominalPower + +s4bldg:lightEmitterNominalPower a owl:ObjectProperty ; + rdfs:comment "Light emitter nominal power. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "light emitter nominal power"@en . +# +# https://saref.etsi.org/saref4bldg#limitingTerminalSize + +s4bldg:limitingTerminalSize a owl:ObjectProperty ; + rdfs:comment "The maximum terminal size capacity of the device. Usually measured in square metre (m2)."@en ; + rdfs:label "limiting terminal size"@en . +# +# https://saref.etsi.org/saref4bldg#lockedRotorCurrent + +s4bldg:lockedRotorCurrent a owl:ObjectProperty ; + rdfs:comment "Input current when a motor armature is energized but not rotating. Usually measured in Ampere (A)."@en ; + rdfs:label "locked rotor current"@en . +# +# https://saref.etsi.org/saref4bldg#netPositiveSuctionHead + +s4bldg:netPositiveSuctionHead a owl:ObjectProperty ; + rdfs:comment "Minimum liquid pressure at the pump inlet to prevent cavitation. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "net positive suction head"@en . +# +# https://saref.etsi.org/saref4bldg#nominalAirFlowRate + +s4bldg:nominalAirFlowRate a owl:ObjectProperty ; + rdfs:comment "Nominal rate of air flow. Usually measured in m3/s."@en ; + rdfs:label "nominal air flow rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalBodyDepth + +s4bldg:nominalBodyDepth a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted =length, measured along the z-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body depth"@en . +# +# https://saref.etsi.org/saref4bldg#nominalBodyLength + +s4bldg:nominalBodyLength a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the x-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body length"@en . +# +# https://saref.etsi.org/saref4bldg#nominalBodyWidth + +s4bldg:nominalBodyWidth a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the y-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body width"@en . +# +# https://saref.etsi.org/saref4bldg#nominalCapacity + +s4bldg:nominalCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalCondensingTemperature + +s4bldg:nominalCondensingTemperature a owl:ObjectProperty ; + rdfs:comment "Chiller condensing temperature. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal condensing temperature"@en . +# +# https://saref.etsi.org/saref4bldg#nominalCoolingCapacity + +s4bldg:nominalCoolingCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal cooling capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal cooling capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalDepth + +s4bldg:nominalDepth a owl:ObjectProperty ; + rdfs:comment "The nominal depth of the tank. Note: Not required for a horizontal cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal depth"@en . +# +# https://saref.etsi.org/saref4bldg#nominalDiameter + +s4bldg:nominalDiameter a owl:ObjectProperty ; + rdfs:comment "Nominal diameter or width of the tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nominalEfficiency + +s4bldg:nominalEfficiency a owl:ObjectProperty ; + rdfs:comment "Nominal chiller efficiency under nominal conditions. "@en ; + rdfs:label "nominal efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#nominalEnergyConsumption + +s4bldg:nominalEnergyConsumption a owl:ObjectProperty ; + rdfs:comment "Nominal fuel consumption rate required to produce the total boiler heat output. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal energy consumption"@en . +# +# https://saref.etsi.org/saref4bldg#nominalEvaporatingTemmperature + +s4bldg:nominalEvaporatingTemmperature a owl:ObjectProperty ; + rdfs:comment "Chiller evaporating temperature.Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal evaporating temmperature"@en . +# +# https://saref.etsi.org/saref4bldg#nominalFilterFaceVelocity + +s4bldg:nominalFilterFaceVelocity a owl:ObjectProperty ; + rdfs:comment "Filter face velocity. Usually measured in m/s."@en ; + rdfs:label "nominal filter face velocity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalFlowRate + +s4bldg:nominalFlowRate a owl:ObjectProperty ; + rdfs:comment "Nominal fluid flow rate through the filter. Usually measured in m3/s."@en ; + rdfs:label "nominal flow rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalFrequency + +s4bldg:nominalFrequency a owl:ObjectProperty ; + rdfs:comment "The nominal frequency of the supply. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "nominal frequency"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatRejectionRate + +s4bldg:nominalHeatRejectionRate a owl:ObjectProperty ; + rdfs:comment "Sum of the refrigeration effect and the heat equivalent of the power input to the compressor. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heat rejection rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatTransferArea + +s4bldg:nominalHeatTransferArea a owl:ObjectProperty ; + rdfs:comment "Nominal heat transfer surface area associated with nominal overall heat transfer coefficient. Usually measured in square metre (m2)."@en ; + rdfs:label "nominal heat transfer area"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient + +s4bldg:nominalHeatTransferCoefficient a owl:ObjectProperty ; + rdfs:comment "Nominal overall heat transfer coefficient associated with nominal heat transfer area. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "nominal heat transfer coefficient"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatingCapacity + +s4bldg:nominalHeatingCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal heating capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heating capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalLatentCapacity + +s4bldg:nominalLatentCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal latent capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal latent capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalLengthOrDiameter + +s4bldg:nominalLengthOrDiameter a owl:ObjectProperty ; + rdfs:comment "The nominal length or, in the case of a vertical cylindrical tank, the nominal diameter of the tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal length or diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nominalMediaSurfaceVelocity + +s4bldg:nominalMediaSurfaceVelocity a owl:ObjectProperty ; + rdfs:comment "Average fluid velocity at the media surface. Usually measured in m/s."@en ; + rdfs:label "nominal media surface velocity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalMoistureGain + +s4bldg:nominalMoistureGain a owl:ObjectProperty ; + rdfs:comment "Nominal rate of water vapor added into the airstream. Usually measured in kg/s."@en ; + rdfs:label "nominal moisture gain"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPartLoadRatio + +s4bldg:nominalPartLoadRatio a owl:ObjectProperty ; + rdfs:comment "Allowable part load ratio range."@en ; + rdfs:label "nominal part load ratio"@en . +# +# https://saref.etsi.org/saref4bldg#nominalParticleGeometricMeanDiameter + +s4bldg:nominalParticleGeometricMeanDiameter a owl:ObjectProperty ; + rdfs:comment "Particle geometric mean diameter associated with nominal efficiency. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal particle geometric mean diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nominalParticleGeometricStandardDeviation + +s4bldg:nominalParticleGeometricStandardDeviation a owl:ObjectProperty ; + rdfs:comment "Particle geometric standard deviation associated with nominal efficiency. "@en ; + rdfs:label "nominal particle geometric standard deviation"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPowerConsumption + +s4bldg:nominalPowerConsumption a owl:ObjectProperty ; + rdfs:comment "Nominal total power consumption. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power consumption"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPowerRate + +s4bldg:nominalPowerRate a owl:ObjectProperty ; + rdfs:comment "Nominal fan power rate.Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPressureDrop + +s4bldg:nominalPressureDrop a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across the filter. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal pressure drop"@en . +# +# https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureCooling + +s4bldg:nominalReturnWaterTemperatureCooling a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureHeating + +s4bldg:nominalReturnWaterTemperatureHeating a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalRotationSpeed + +s4bldg:nominalRotationSpeed a owl:ObjectProperty ; + rdfs:comment "Nominal fan wheel speed. Usually measured in cycles/s."@en ; + rdfs:label "nominal rotation speed"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSensibleCapacity + +s4bldg:nominalSensibleCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal sensible capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal sensible capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSorroundingHumidityCooling + +s4bldg:nominalSorroundingHumidityCooling a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding humidity (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding humidity cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureCooling + +s4bldg:nominalSorroundingTemperatureCooling a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureHeating + +s4bldg:nominalSorroundingTemperatureHeating a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalStaticPressure + +s4bldg:nominalStaticPressure a owl:ObjectProperty ; + rdfs:comment "The static pressure within the air stream that the fan must overcome to insure designed circulation of air. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal static pressure"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyVoltage + +s4bldg:nominalSupplyVoltage a owl:ObjectProperty ; + rdfs:comment "The nominal voltage of the supply. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "nominal supply voltage"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMax + +s4bldg:nominalSupplyVoltageMax a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMin + +s4bldg:nominalSupplyVoltageMin a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureCooling + +s4bldg:nominalSupplyWaterTemperatureCooling a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureHeating + +s4bldg:nominalSupplyWaterTemperatureHeating a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalTotalPressure + +s4bldg:nominalTotalPressure a owl:ObjectProperty ; + rdfs:comment "Nominal total pressure rise across the fan. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal total pressure"@en . +# +# https://saref.etsi.org/saref4bldg#nominalUa + +s4bldg:nominalUa a owl:ObjectProperty ; + rdfs:comment "Nominal UA value."@en ; + rdfs:label "nominal ua"@en . +# +# https://saref.etsi.org/saref4bldg#nominalVolumetricCapacity + +s4bldg:nominalVolumetricCapacity a owl:ObjectProperty ; + rdfs:comment "The total nominal or design volumetric capacity of the tank. Usually measured in cubic metre (m3)."@en ; + rdfs:label "nominal volumetric capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalWaterFlowCooling + +s4bldg:nominalWaterFlowCooling a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal cooling capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalWaterFlowHeating + +s4bldg:nominalWaterFlowHeating a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal heating capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalWidthOrDiameter + +s4bldg:nominalWidthOrDiameter a owl:ObjectProperty ; + rdfs:comment "The nominal width or, in the case of a horizontal cylindrical tank, the nominal diameter of the tank. Note: Not required for a vertical cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal width or diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nomminalRotationSpeed + +s4bldg:nomminalRotationSpeed a owl:ObjectProperty ; + rdfs:comment "Pump rotational speed under nominal conditions. Usually measured in cycles/s."@en ; + rdfs:label "nomminal rotation speed"@en . +# +# https://saref.etsi.org/saref4bldg#openPressureDrop + +s4bldg:openPressureDrop a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across damper. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "open pressure drop"@en . +# +# https://saref.etsi.org/saref4bldg#operatingWeight + +s4bldg:operatingWeight a owl:ObjectProperty ; + rdfs:comment "Operating weight of the tank including all of its contents. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "operating weight"@en . +# +# https://saref.etsi.org/saref4bldg#operationTemperatureMax + +s4bldg:operationTemperatureMax a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#operationTemperatureMin + +s4bldg:operationTemperatureMin a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#operationalRiterial + +s4bldg:operationalRiterial a owl:ObjectProperty ; + rdfs:comment "Time of operation at maximum operational ambient air temperature. Measured in seconds (s) or days (d) or other units of time."@en ; + rdfs:label "operational riterial"@en . +# +# https://saref.etsi.org/saref4bldg#outletConnectionSize + +s4bldg:outletConnectionSize a owl:ObjectProperty ; + rdfs:comment "Size of the outlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "outlet connection size"@en . +# +# https://saref.etsi.org/saref4bldg#outletTemperatureMax + +s4bldg:outletTemperatureMax a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#outletTemperatureMin + +s4bldg:outletTemperatureMin a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#outputCapacity + +s4bldg:outputCapacity a owl:ObjectProperty ; + rdfs:comment "Total nominal heat output as listed by the manufacturer. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "output capacity"@en . +# +# https://saref.etsi.org/saref4bldg#outsideDiameter + +s4bldg:outsideDiameter a owl:ObjectProperty ; + rdfs:comment "Actual outside diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "outside diameter"@en . +# +# https://saref.etsi.org/saref4bldg#partLoadRatioMax + +s4bldg:partLoadRatioMax a owl:ObjectProperty ; + rdfs:comment "Maximum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "maximum part load ratio"@en . +# +# https://saref.etsi.org/saref4bldg#partLoadRatioMin + +s4bldg:partLoadRatioMin a owl:ObjectProperty ; + rdfs:comment "Minimum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "minimum part load ratio"@en . +# +# https://saref.etsi.org/saref4bldg#powerOutputMax + +s4bldg:powerOutputMax a owl:ObjectProperty ; + rdfs:comment "The maximum output power rating of the engine. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum power output"@en . +# +# https://saref.etsi.org/saref4bldg#pressureRating + +s4bldg:pressureRating a owl:ObjectProperty ; + rdfs:comment "Nominal pressure rating of the boiler as rated by the agency having jurisdiction. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "pressure rating"@en . +# +# https://saref.etsi.org/saref4bldg#primaryAirFlowRateMax + +s4bldg:primaryAirFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Maximum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#primaryAirFlowRateMin + +s4bldg:primaryAirFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Minimum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#primaryApparentPower + +s4bldg:primaryApparentPower a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and that runs into the transformer on the primary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "primary apparent power"@en . +# +# https://saref.etsi.org/saref4bldg#primaryCurrent + +s4bldg:primaryCurrent a owl:ObjectProperty ; + rdfs:comment "The current that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Ampere (A)."@en ; + rdfs:label "primary current"@en . +# +# https://saref.etsi.org/saref4bldg#primaryFrequency + +s4bldg:primaryFrequency a owl:ObjectProperty ; + rdfs:comment "The frequency that is going to be transformed and that runs into the transformer on the primary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "primary frequency"@en . +# +# https://saref.etsi.org/saref4bldg#primaryVoltage + +s4bldg:primaryVoltage a owl:ObjectProperty ; + rdfs:comment "The voltage that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "primary voltage"@en . +# +# https://saref.etsi.org/saref4bldg#pumpFlowRateMax + +s4bldg:pumpFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#pumpFlowRateMin + +s4bldg:pumpFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#realImpedanceRatio + +s4bldg:realImpedanceRatio a owl:ObjectProperty ; + rdfs:comment "The ratio between the real part of the zero sequence impedance and the real part of the positive impedance (i.e. real part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "real impedance ratio"@en . +# +# https://saref.etsi.org/saref4bldg#secondCurvatureRadius + +s4bldg:secondCurvatureRadius a owl:ObjectProperty ; + rdfs:comment "SecondCurvatureRadius should be defined as the top or right side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "second curvature radius"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMax + +s4bldg:secondaryAirFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMin + +s4bldg:secondaryAirFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryApparentPower + +s4bldg:secondaryApparentPower a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and is running out of the transformer on the secondary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "secondary apparent power"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryCurrent + +s4bldg:secondaryCurrent a owl:ObjectProperty ; + rdfs:comment "The current that has been transformed and is running out of the transformer on the secondary side. Usually measured in Ampere (A)."@en ; + rdfs:label "secondary current"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryFrequency + +s4bldg:secondaryFrequency a owl:ObjectProperty ; + rdfs:comment "The frequency that has been transformed and is running out of the transformer on the secondary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "secondary frequency"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryVoltage + +s4bldg:secondaryVoltage a owl:ObjectProperty ; + rdfs:comment "The voltage that has been transformed and is running out of the transformer on the secondary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "secondary voltage"@en . +# +# https://saref.etsi.org/saref4bldg#shortCircuitVoltage + +s4bldg:shortCircuitVoltage a owl:ObjectProperty ; + rdfs:comment "A complex number that specifies the real and imaginary parts of the short-circuit voltage at rated current of a transformer given in %."@en ; + rdfs:label "short circuit voltage"@en . +# +# https://saref.etsi.org/saref4bldg#size + +s4bldg:size a owl:ObjectProperty ; + rdfs:comment "The size of the connection to the valve (or to each connection for faucets, mixing valves, etc.). Usually measured in millimeters (mm)."@en ; + rdfs:label "size"@en . +# +# https://saref.etsi.org/saref4bldg#solarReflectance + +s4bldg:solarReflectance a owl:ObjectProperty ; + rdfs:comment "(Rsol): The ratio of incident solar radiation that is reflected by a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar reflectance"@en . +# +# https://saref.etsi.org/saref4bldg#solarTransmittance + +s4bldg:solarTransmittance a owl:ObjectProperty ; + rdfs:comment "(Tsol) The ratio of incident solar radiation that directly passes through a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar transmittance"@en . +# +# https://saref.etsi.org/saref4bldg#spectrumMax + +s4bldg:spectrumMax a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "maximum spectrum"@en . +# +# https://saref.etsi.org/saref4bldg#spectrumMin + +s4bldg:spectrumMin a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "minimum spectrum"@en . +# +# https://saref.etsi.org/saref4bldg#staggeredRowSpacing + +s4bldg:staggeredRowSpacing a owl:ObjectProperty ; + rdfs:comment "Staggered tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "staggered row spacing"@en . +# +# https://saref.etsi.org/saref4bldg#startCurrentFactor + +s4bldg:startCurrentFactor a owl:ObjectProperty ; + rdfs:comment "IEC. Start current factor defines how large the peek starting current will become on the engine. StartCurrentFactor is multiplied to NominalCurrent and we get the start current."@en ; + rdfs:label "start current factor"@en . +# +# https://saref.etsi.org/saref4bldg#startingTime + +s4bldg:startingTime a owl:ObjectProperty ; + rdfs:comment "The time (in s) needed for the motor to reach its rated speed with its driven equipment attached, starting from standstill and at the nominal voltage applied at its terminals."@en ; + rdfs:label "starting time"@en . +# +# https://saref.etsi.org/saref4bldg#supportedWeightMax + +s4bldg:supportedWeightMax a owl:ObjectProperty ; + rdfs:comment "The maximum weight that can be carried by the vibration isolator. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "maximum supported weight"@en . +# +# https://saref.etsi.org/saref4bldg#teTime + +s4bldg:teTime a owl:ObjectProperty ; + rdfs:comment "The maximum time (in s) at which the motor could run with locked rotor when the motor is used in an EX-environment. The time indicates that a protective device should trip before this time when the starting current of the motor is slowing through the device."@en ; + rdfs:label "te time"@en . +# +# https://saref.etsi.org/saref4bldg#temperatureRating + +s4bldg:temperatureRating a owl:ObjectProperty ; + rdfs:comment "Temperature rating. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "temperature rating"@en . +# +# https://saref.etsi.org/saref4bldg#testPressure + +s4bldg:testPressure a owl:ObjectProperty ; + rdfs:comment "The maximum pressure to which the valve has been subjected under test. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "test pressure"@en . +# +# https://saref.etsi.org/saref4bldg#thermalConductivity + +s4bldg:thermalConductivity a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "thermal conductivity"@en . +# +# https://saref.etsi.org/saref4bldg#thermalEfficiency + +s4bldg:thermalEfficiency a owl:ObjectProperty ; + rdfs:comment "Overall Thermal Efficiency is defined as gross energy output of the heat transfer device divided by the energy input."@en ; + rdfs:label "thermal efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#thermalMassHeatCapacity + +s4bldg:thermalMassHeatCapacity a owl:ObjectProperty ; + rdfs:comment "Product of component mass and specific heat."@en ; + rdfs:label "thermal mass heat capacity"@en . +# +# https://saref.etsi.org/saref4bldg#thermalTransmittance + +s4bldg:thermalTransmittance a owl:ObjectProperty ; + rdfs:comment "Rate at which energy is transmitted through a body. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "thermal transmittance"@en . +# +# https://saref.etsi.org/saref4bldg#ventilatingPipeSize + +s4bldg:ventilatingPipeSize a owl:ObjectProperty ; + rdfs:comment "Size of the ventilating pipe(s). Usually measured in millimeters (mm)."@en ; + rdfs:label "ventilating pipe size"@en . +# +# https://saref.etsi.org/saref4bldg#verticalSpacing + +s4bldg:verticalSpacing a owl:ObjectProperty ; + rdfs:comment "Vertical spacing between tubes in the tube bundle.Usually measured in millimeters (mm)."@en ; + rdfs:label "vertical spacing"@en . +# +# https://saref.etsi.org/saref4bldg#vibrationTransmissibility + +s4bldg:vibrationTransmissibility a owl:ObjectProperty ; + rdfs:comment "The vibration transmissibility percentage."@en ; + rdfs:label "vibration transmissibility"@en . +# +# https://saref.etsi.org/saref4bldg#visibleLightReflectance + +s4bldg:visibleLightReflectance a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that is reflected by the glazing at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light reflectance"@en . +# +# https://saref.etsi.org/saref4bldg#visibleLightTransmittance + +s4bldg:visibleLightTransmittance a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that passes the shading system at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light transmittance"@en . +# +# https://saref.etsi.org/saref4bldg#volumen + +s4bldg:volumen a owl:ObjectProperty ; + rdfs:comment "Total volume of fluid in the tubes and their headers. Usually measured in cubic metre (m3)."@en ; + rdfs:label "volumen"@en . +# +# https://saref.etsi.org/saref4bldg#waterInletTemperatureMax + +s4bldg:waterInletTemperatureMax a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#waterInletTemperatureMin + +s4bldg:waterInletTemperatureMin a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#waterPressureMax + +s4bldg:waterPressureMax a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . +# +# https://saref.etsi.org/saref4bldg#waterPressureMin + +s4bldg:waterPressureMin a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . +# +# https://saref.etsi.org/saref4bldg#waterRequirement + +s4bldg:waterRequirement a owl:ObjectProperty ; + rdfs:comment "Make-up water requirement. Usually measured in m3/s."@en ; + rdfs:label "water requirement"@en . +# +# https://saref.etsi.org/saref4bldg#waterStorageCapacity + +s4bldg:waterStorageCapacity a owl:ObjectProperty ; + rdfs:comment "Water storage capacity. Usually measured in cubic metre (m3)."@en ; + rdfs:label "water storage capacity"@en . +# +# https://saref.etsi.org/saref4bldg#weight + +s4bldg:weight a owl:ObjectProperty ; + rdfs:comment "The weight of the device. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "weight"@en . +# +# https://saref.etsi.org/saref4bldg#workingPressure + +s4bldg:workingPressure a owl:ObjectProperty ; + rdfs:comment "The normally expected maximum working pressure of the valve. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "working pressure"@en . +# +# https://saref.etsi.org/saref4bldg#workingPressureMax + +s4bldg:workingPressureMax a owl:ObjectProperty ; + rdfs:comment "Maximum working pressure. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "maximum working pressure"@en . +# +# https://saref.etsi.org/saref4bldg#workingPressureMin + +s4bldg:workingPressureMin a owl:ObjectProperty ; + rdfs:comment "Allowable minimum working pressure (relative to ambient pressure). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "minimum working pressure"@en . +# +# https://w3id.org/saref#isMeasuredIn + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "is measured in"@en . +# +# https://w3id.org/saref#relatesToProperty + +saref:relatesToProperty a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4bldg#accessType + +s4bldg:accessType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the types of access (or cover) to a tank that may be specified. Note that covers are generally specified for rectangular tanks. For cylindrical tanks, access will normally be via a manhole."@en ; + rdfs:label "access type"@en . +# +# https://saref.etsi.org/saref4bldg#application + +s4bldg:application a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Humidifier application. Fixed: Humidifier installed in a ducted flow distribution system. Portable: Humidifier is not installed in a ducted flow distribution system."@en ; + rdfs:label "application"@en . +# +# https://saref.etsi.org/saref4bldg#arrangement + +s4bldg:arrangement a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the basic flow arrangements for the heat exchanger: COUNTERFLOW: Counterflow heat exchanger arrangement. CROSSFLOW: Crossflow heat exchanger arrangement. PARALLELFLOW: Parallel flow heat exchanger arrangement. MULTIPASS: Multipass flow heat exchanger arrangement. OTHER: Other type of heat exchanger flow arrangement not defined above."@en ; + rdfs:label "arrangement"@en . +# +# https://saref.etsi.org/saref4bldg#bladeAction + +s4bldg:bladeAction a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Blade action."@en ; + rdfs:label "blade action"@en . +# +# https://saref.etsi.org/saref4bldg#bladeEdge + +s4bldg:bladeEdge a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Blade edge."@en ; + rdfs:label "blade edge"@en . +# +# https://saref.etsi.org/saref4bldg#bladeShape + +s4bldg:bladeShape a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Blade shape. Flat means triple V-groove."@en ; + rdfs:label "blade shape"@en . +# +# https://saref.etsi.org/saref4bldg#capacityControl + +s4bldg:capacityControl a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "FanCycling: Fan is cycled on and off to control duty. TwoSpeedFan: Fan is switched between low and high speed to control duty. VariableSpeedFan: Fan speed is varied to control duty. DampersControl: Dampers modulate the air flow to control duty. BypassValveControl: Bypass valve modulates the water flow to control duty. MultipleSeriesPumps: Turn on/off multiple series pump to control duty. TwoSpeedPump: Switch between high/low pump speed to control duty. VariableSpeedPump: vary pump speed to control duty."@en ; + rdfs:label "capacity control"@en . +# +# https://saref.etsi.org/saref4bldg#capacityControlType + +s4bldg:capacityControlType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "InletVane: Control by adjusting inlet vane. VariableSpeedDrive: Control by variable speed drive. BladePitchAngle: Control by adjusting blade pitch angle. TwoSpeed: Control by switch between high and low speed. DischargeDamper: Control by modulating discharge damper."@en ; + rdfs:label "capacity control type"@en . +# +# https://saref.etsi.org/saref4bldg#capacityPeople + +s4bldg:capacityPeople a owl:DatatypeProperty ; + rdfs:range xsd:nonNegativeInteger ; + rdfs:comment "Capacity of the transportation element measured in numbers of person."@en ; + rdfs:label "capacity people"@en . +# +# https://saref.etsi.org/saref4bldg#circuitType + +s4bldg:circuitType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "OpenCircuit: Exposes water directly to the cooling atmosphere. CloseCircuit: The fluid is separated from the atmosphere by a heat exchanger. Wet: The air stream or the heat exchange surface is evaporatively cooled. Dry: No evaporation into the air stream. DryWet: A combination of a dry tower and a wet tower."@en ; + rdfs:label "circuit type"@en . +# +# https://saref.etsi.org/saref4bldg#colorAppearance + +s4bldg:colorAppearance a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "In both the DIN and CIE standards, artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance."@en ; + rdfs:label "color appearance"@en . +# +# https://saref.etsi.org/saref4bldg#colorRenderingIndex + +s4bldg:colorRenderingIndex a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "The CRI indicates how well a light source renders eight standard colors compared to perfect reference lamp with the same color temperature. The CRI scale ranges from 1 to 100, with 100 representing perfect rendering properties."@en ; + rdfs:label "color rendering index"@en . +# +# https://saref.etsi.org/saref4bldg#controlStrategy + +s4bldg:controlStrategy a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "FixedExitingWaterTemp: The capacity is controlled to maintain a fixed exiting water temperature. WetBulbTempReset: The set-point is reset based on the wet-bulb temperature."@en ; + rdfs:label "control strategy"@en . +# +# https://saref.etsi.org/saref4bldg#endShapeType + +s4bldg:endShapeType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the types of end shapes that can be used for preformed tanks. The convention for reading these enumerated values is that for a vertical cylinder, the first value is the base and the second is the top for a horizontal cylinder, the order of reading should be left to right. For a speherical tank, the value UNSET should be used.B5"@en ; + rdfs:label "end shape type"@en . +# +# https://saref.etsi.org/saref4bldg#energySource + +s4bldg:energySource a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Enumeration defining the energy source or fuel cumbusted to generate heat."@en , "The source of energy."@en ; + rdfs:label "energy source"@en . +# +# https://saref.etsi.org/saref4bldg#evaporationCoolant + +s4bldg:evaporationCoolant a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The fluid used for the coolant in the evaporator."@en ; + rdfs:label "evaporation coolant"@en . +# +# https://saref.etsi.org/saref4bldg#evaporationMediumType + +s4bldg:evaporationMediumType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "ColdLiquid: Evaporator is using liquid type of fluid to exchange heat with refrigerant. ColdAir: Evaporator is using air to exchange heat with refrigerant."@en ; + rdfs:label "evaporation medium type"@en . +# +# https://saref.etsi.org/saref4bldg#failPosition + +s4bldg:failPosition a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Specifies the required fail-safe position of the actuator."@en ; + rdfs:label "fail position"@en . +# +# https://saref.etsi.org/saref4bldg#finishColor + +s4bldg:finishColor a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Finish color for cooled beam."@en ; + rdfs:label "finish color"@en . +# +# https://saref.etsi.org/saref4bldg#fireExit + +s4bldg:fireExit a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication whether this object is designed to serve as an exit in the case of fire (TRUE) or not (FALSE). Here whether the transport element (in case of e.g., a lift) is designed to serve as a fire exit, e.g., for fire escape purposes."@en ; + rdfs:label "fire exit"@en . +# +# https://saref.etsi.org/saref4bldg#flowArrangement + +s4bldg:flowArrangement a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "CounterFlow: Air and water flow enter in different directions. CrossFlow: Air and water flow are perpendicular. ParallelFlow: air and water flow enter in same directions."@en ; + rdfs:label "flow arrangement"@en . +# +# https://saref.etsi.org/saref4bldg#frameSize + +s4bldg:frameSize a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Designation of the frame size according to the named range of frame sizes designated at the place of use or according to a given standard."@en ; + rdfs:label "frame size"@en . +# +# https://saref.etsi.org/saref4bldg#frameType + +s4bldg:frameType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The type of frame used by the damper (e.g., Standard, Single Flange, Single Reversed Flange, Double Flange, etc.)."@en ; + rdfs:label "frame type"@en . +# +# https://saref.etsi.org/saref4bldg#hasDefrost + +s4bldg:hasDefrost a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Whether the heat exchanger has defrost function or not."@en ; + rdfs:label "has defrost"@en . +# +# https://saref.etsi.org/saref4bldg#hasExteriorInsulation + +s4bldg:hasExteriorInsulation a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "TRUE if the silencer has exterior insulation. FALSE if it does not."@en ; + rdfs:label "has exterior insulation"@en . +# +# https://saref.etsi.org/saref4bldg#hasHotGasBypass + +s4bldg:hasHotGasBypass a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Whether or not hot gas bypass is provided for the compressor. TRUE = Yes, FALSE = No."@en ; + rdfs:label "has hot gas bypass"@en . +# +# https://saref.etsi.org/saref4bldg#hasLock + +s4bldg:hasLock a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether a switching device has a key operated lock (=TRUE) or not (= FALSE)."@en ; + rdfs:label "has lock"@en . +# +# https://saref.etsi.org/saref4bldg#hasPartWinding + +s4bldg:hasPartWinding a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether the motor is single speed, i.e. has a single winding (= FALSE) or multi-speed i.e.has part winding (= TRUE) ."@en ; + rdfs:label "has part winding"@en . +# +# https://saref.etsi.org/saref4bldg#hasTurbulator + +s4bldg:hasTurbulator a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "TRUE if the tube has a turbulator, FALSE if it does not."@en ; + rdfs:label "has turbulator"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferDimension + +s4bldg:heatTransferDimension a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates how heat is transmitted according to the shape of the space heater."@en ; + rdfs:label "heat transfer dimension"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferMedium + +s4bldg:heatTransferMedium a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Enumeration defining the heat transfer medium if applicable."@en ; + rdfs:label "heat transfer medium"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferTypeEnum + +s4bldg:heatTransferTypeEnum a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Type of heat transfer between the two air streams."@en ; + rdfs:label "heat transfer type enum"@en . +# +# https://saref.etsi.org/saref4bldg#integratedLightingType + +s4bldg:integratedLightingType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Integrated lighting in cooled beam."@en ; + rdfs:label "integrated lighting type"@en . +# +# https://saref.etsi.org/saref4bldg#internalControl + +s4bldg:internalControl a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Internal modulation control."@en ; + rdfs:label "internal control"@en . +# +# https://saref.etsi.org/saref4bldg#isExternal + +s4bldg:isExternal a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building."@en ; + rdfs:label "is external"@en . +# +# https://saref.etsi.org/saref4bldg#isFreeHanging + +s4bldg:isFreeHanging a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Is it free hanging type (not mounted in a false ceiling)?"@en ; + rdfs:label "is free hanging"@en . +# +# https://saref.etsi.org/saref4bldg#isGuarded + +s4bldg:isGuarded a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether the motor enclosure is guarded (= TRUE) or not (= FALSE)."@en ; + rdfs:label "is guarded"@en . +# +# https://saref.etsi.org/saref4bldg#isIlluminated + +s4bldg:isIlluminated a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "An indication of whether there is an illuminated indicator to show that the switch is on (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is illuminated"@en . +# +# https://saref.etsi.org/saref4bldg#isNeutralPrimaryTerminalAvailable + +s4bldg:isNeutralPrimaryTerminalAvailable a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "An indication of whether the neutral point of the primary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral primary terminal available"@en . +# +# https://saref.etsi.org/saref4bldg#isNeutralSecondaryTerminalAvailable + +s4bldg:isNeutralSecondaryTerminalAvailable a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "An indication of whether the neutral point of the secondary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral secondary terminal available"@en . +# +# https://saref.etsi.org/saref4bldg#isPluggableOutlet + +s4bldg:isPluggableOutlet a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether the outlet accepts a loose plug connection (= TRUE) or whether it is directly connected (= FALSE) or whether the form of connection has not yet been determined (= UNKNOWN)."@en ; + rdfs:label "is pluggable outlet"@en . +# +# https://saref.etsi.org/saref4bldg#isWaterStorageHeater + +s4bldg:isWaterStorageHeater a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "This is used to identify if the boiler has storage capacity (TRUE). If FALSE, then there is no storage capacity built into the boiler, such as an instantaneous hot water heater."@en ; + rdfs:label "is water storage heater"@en . +# +# https://saref.etsi.org/saref4bldg#lampBallastType + +s4bldg:lampBallastType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The type of ballast used to stabilise gas discharge by limiting the current during operation and to deliver the necessary striking voltage for starting. Ballasts are needed to operate Discharge Lamps such as Fluorescent, Compact Fluorescent, High-pressure Mercury, Metal Halide and High-pressure Sodium Lamps. Magnetic ballasts are chokes which limit the current passing through a lamp connected in series on the principle of self-induction. The resultant current and power are decisive for the efficient operation of the lamp. A specially designed ballast is required for every type of lamp to comply with lamp rating in terms of Luminous Flux, Color Appearance and service life. The two types of magnetic ballasts for fluorescent lamps are KVG Conventional (EC-A series) and VVG Low-loss ballasts (EC-B series). Low-loss ballasts have a higher efficiency, which means reduced ballast losses and a lower thermal load. Electronic ballasts are used to run fluorescent lamps at high frequencies (approx. 35 - 40 kHz)."@en ; + rdfs:label "lamp ballast type"@en . +# +# https://saref.etsi.org/saref4bldg#lampCompensationType + +s4bldg:lampCompensationType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Identifies the form of compensation used for power factor correction and radio suppression."@en ; + rdfs:label "lamp compensation type"@en . +# +# https://saref.etsi.org/saref4bldg#legend + +s4bldg:legend a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A text inscribed or applied to the switch as a legend to indicate purpose or function."@en ; + rdfs:label "legend"@en . +# +# https://saref.etsi.org/saref4bldg#manualOverride + +s4bldg:manualOverride a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Identifies whether hand-operated operation is provided as an override (= TRUE) or not (= FALSE). Note that this value should be set to FALSE by default in the case of a Hand Operated Actuator."@en ; + rdfs:label "manual override"@en . +# +# https://saref.etsi.org/saref4bldg#mechanicalOperated + +s4bldg:mechanicalOperated a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication whether the element is operated machanically (TRUE) or not, i.e. manually (FALSE)."@en ; + rdfs:label "mechanical operated"@en . +# +# https://saref.etsi.org/saref4bldg#mediaSource + +s4bldg:mediaSource a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates media sources and corresponding names of ports (DistributionPort with FlowDirection=SINK and PredefinedType=AUDIOVISUAL) or aggregated audio/video components (AudioVisualAppliance)."@en ; + rdfs:label "media source"@en . +# +# https://saref.etsi.org/saref4bldg#motorDriveType + +s4bldg:motorDriveType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Motor drive type: DIRECTDRIVE: Direct drive. BELTDRIVE: Belt drive. COUPLING: Coupling. OTHER: Other type of motor drive. UNKNOWN: Unknown motor drive type. "@en ; + rdfs:label "motor drive type"@en . +# +# https://saref.etsi.org/saref4bldg#motorEnclosureType + +s4bldg:motorEnclosureType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A list of the available types of motor enclosure from which that required may be selected."@en ; + rdfs:label "motor enclosure type"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfBlades + +s4bldg:numberOfBlades a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of blades."@en ; + rdfs:label "number of blades"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfCells + +s4bldg:numberOfCells a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of cells in one cooling tower unit."@en ; + rdfs:label "number of cells"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfCircuits + +s4bldg:numberOfCircuits a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of parallel fluid tube circuits."@en ; + rdfs:label "number of circuits"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfGangs + +s4bldg:numberOfGangs a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of gangs/buttons on this switch."@en ; + rdfs:label "number of gangs"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfPanels + +s4bldg:numberOfPanels a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of panels."@en ; + rdfs:label "number of panels"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfRows + +s4bldg:numberOfRows a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of tube rows in the tube bundle assembly."@en ; + rdfs:label "number of rows"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfSections + +s4bldg:numberOfSections a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of sections used."@en ; + rdfs:label "number of sections"@en . +# +# https://saref.etsi.org/saref4bldg#numberOsSockets + +s4bldg:numberOsSockets a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "The number of sockets that may be connected. In case of inconsistency, sockets defined on ports take precedence."@en ; + rdfs:label "number os sockets"@en . +# +# https://saref.etsi.org/saref4bldg#operatingMode + +s4bldg:operatingMode a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Identifies the operating mode of the boiler."@en ; + rdfs:label "operating mode"@en . +# +# https://saref.etsi.org/saref4bldg#operation + +s4bldg:operation a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The operational mechanism for the damper operation."@en ; + rdfs:label "operation"@en . +# +# https://saref.etsi.org/saref4bldg#orientation + +s4bldg:orientation a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The intended orientation for the damper as specified by the manufacturer."@en ; + rdfs:label "orientation"@en . +# +# https://saref.etsi.org/saref4bldg#patternType + +s4bldg:patternType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the types of pattern (or shape of a tank that may be specified."@en ; + rdfs:label "pattern type"@en . +# +# https://saref.etsi.org/saref4bldg#pipeConnectionEnum + +s4bldg:pipeConnectionEnum a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The manner in which the pipe connection is made to the cooled beam."@en ; + rdfs:label "pipe connection enum"@en . +# +# https://saref.etsi.org/saref4bldg#placementType + +s4bldg:placementType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates how the device is designed to be placed."@en ; + rdfs:label "placement type"@en . +# +# https://saref.etsi.org/saref4bldg#powerSource + +s4bldg:powerSource a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Type of power driving the compressor."@en ; + rdfs:label "power source"@en . +# +# https://saref.etsi.org/saref4bldg#readOutType + +s4bldg:readOutType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indication of the form that readout from the meter takes. In the case of a dial read out, this may comprise multiple dials that give a cumulative reading and/or a mechanical odometer."@en ; + rdfs:label "read out type"@en . +# +# https://saref.etsi.org/saref4bldg#refrigerantClass + +s4bldg:refrigerantClass a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Refrigerant class used by the compressor. CFC: Chlorofluorocarbons. HCFC: Hydrochlorofluorocarbons. HFC: Hydrofluorocarbons."@en ; + rdfs:label "refrigerant class"@en . +# +# https://saref.etsi.org/saref4bldg#remoteReading + +s4bldg:remoteReading a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indicates whether the meter has a connection for remote reading through connection of a communication device (set TRUE) or not (set FALSE)."@en ; + rdfs:label "remote reading"@en . +# +# https://saref.etsi.org/saref4bldg#roughness + +s4bldg:roughness a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A measure of the vertical deviations of the surface."@en ; + rdfs:label "roughness"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryCurrentType + +s4bldg:secondaryCurrentType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A list of the secondary current types that can result from transformer output."@en ; + rdfs:label "secondary current type"@en . +# +# https://saref.etsi.org/saref4bldg#shadingDeviceType + +s4bldg:shadingDeviceType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Specifies the type of shading device."@en ; + rdfs:label "shading device type"@en . +# +# https://saref.etsi.org/saref4bldg#sprayType + +s4bldg:sprayType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "SprayFilled: Water is sprayed into airflow. SplashTypeFill: water cascades over successive rows of splash bars. FilmTypeFill: water flows in a thin layer over closely spaced sheets."@en ; + rdfs:label "spray type"@en . +# +# https://saref.etsi.org/saref4bldg#standard + +s4bldg:standard a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The designation of the standard applicable for the definition of the characteristics of the unit."@en ; + rdfs:label "standard"@en . +# +# https://saref.etsi.org/saref4bldg#storageType + +s4bldg:storageType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the general material category intended to be stored."@en ; + rdfs:label "storage type"@en . +# +# https://saref.etsi.org/saref4bldg#switchFunction + +s4bldg:switchFunction a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates types of switches which differs in functionality."@en ; + rdfs:label "switch function"@en . +# +# https://saref.etsi.org/saref4bldg#temperatureClassification + +s4bldg:temperatureClassification a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Enumeration defining the temperature classification of the space heater surface temperature. low temperature - surface temperature is relatively low, usually heated by hot water or electricity. high temperature - surface temperature is relatively high, usually heated by gas or steam."@en ; + rdfs:label "temperature classification"@en . +# +# https://saref.etsi.org/saref4bldg#transformerVectorGroup + +s4bldg:transformerVectorGroup a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "List of the possible vector groups for the transformer from which that required may be set. Values in the enumeration list follow a standard international code where the first letter describes how the primary windings are connected, the second letter describes how the secondary windings are connected, and the numbers describe the rotation of voltages and currents from the primary to the secondary side in multiples of 30 degrees. D: means that the windings are delta-connected. Y: means that the windings are star-connected. Z: means that the windings are zig-zag connected (a special start-connected providing low reactance of the transformer). The connectivity is only relevant for three-phase transformers."@en ; + rdfs:label "transformer vector group"@en . +# +# https://saref.etsi.org/saref4bldg#valveMechanism + +s4bldg:valveMechanism a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The mechanism by which the valve function is achieved where: BALL: Valve that has a ported ball that can be turned relative to the body seat ports. BUTTERFLY: Valve in which a streamlined disc pivots about a diametric axis. CONFIGUREDGATE: Screwdown valve in which the closing gate is shaped in a configured manner to have a more precise control of pressure and flow change across the valve. GLAND: Valve with a tapered seating, in which a rotatable plug is retained by means of a gland and gland packing. GLOBE: Screwdown valve that has a spherical body. LUBRICATEDPLUG: Plug valve in which a lubricant is injected under pressure between the plug face and the body. NEEDLE: Valve for regulating the flow in or from a pipe, in which a slender cone moves along the axis of flow to close against a fixed conical seat. PARALLELSLIDE: Screwdown valve that has a machined plate that slides in formed grooves to form a seal. PLUG: Valve that has a ported plug that can be turned relative to the body seat ports. WEDGEGATE: Screwdown valve that has a wedge shaped plate fitting into tapered guides to form a seal."@en ; + rdfs:label "valve mechanism"@en . +# +# https://saref.etsi.org/saref4bldg#valveOperation + +s4bldg:valveOperation a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The method of valve operation where: DROPWEIGHT: A valve that is closed by the action of a weighted lever being released, the weight normally being prevented from dropping by being held by a wire, the closure normally being made by the action of heat on a fusible link in the wire FLOAT: A valve that is opened and closed by the action of a float that rises and falls with water level. The float may be a ball attached to a lever or other mechanism HYDRAULIC: A valve that is opened and closed by hydraulic actuation LEVER: A valve that is opened and closed by the action of a lever rotating the gate within the valve. LOCKSHIELD: A valve that requires the use of a special lockshield key for opening and closing, the operating mechanism being protected by a shroud during normal operation. MOTORIZED: A valve that is opened and closed by the action of an electric motor on an actuator PNEUMATIC: A valve that is opened and closed by pneumatic actuation SOLENOID: A valve that is normally held open by a magnetic field in a coil acting on the gate but that is closed immediately if the electrical current generating the magnetic field is removed. SPRING: A valve that is normally held in position by the pressure of a spring on a plate but that may be caused to open if the pressure of the fluid is sufficient to overcome the spring pressure. THERMOSTATIC: A valve in which the ports are opened or closed to maintain a required predetermined temperature. WHEEL: A valve that is opened and closed by the action of a wheel moving the gate within the valve."@en ; + rdfs:label "valve operation"@en . +# +# https://saref.etsi.org/saref4bldg#valvePattern + +s4bldg:valvePattern a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The configuration of the ports of a valve according to either the linear route taken by a fluid flowing through the valve or by the number of ports where: SINGLEPORT: Valve that has a single entry port from the system that it serves, the exit port being to the surrounding environment. ANGLED_2_PORT: Valve in which the direction of flow is changed through 90 degrees. STRAIGHT_2_PORT: Valve in which the flow is straight through. STRAIGHT_3_PORT: Valve with three separate ports. CROSSOVER_4_PORT: Valve with 4 separate ports."@en ; + rdfs:label "valve pattern"@en . +# +# https://saref.etsi.org/saref4bldg#waterFlowControlSystemType + +s4bldg:waterFlowControlSystemType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Factory fitted waterflow control system."@en ; + rdfs:label "water flow control system type"@en . +# +# https://w3id.org/saref#hasTimestamp + +saref:hasTimestamp a owl:DatatypeProperty , owl:FunctionalProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en . +# +# https://w3id.org/saref#hasValue + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4bldg#Actuator + +s4bldg:Actuator a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice , saref:Actuator , _:genid1 . + +_:genid1 a owl:Restriction ; + owl:onProperty s4bldg:failPosition ; + owl:allValuesFrom xsd:string . + +s4bldg:Actuator rdfs:subClassOf _:genid2 . + +_:genid2 a owl:Restriction ; + owl:onProperty s4bldg:manualOverride ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Actuator rdfs:comment "An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion."@en ; + rdfs:label "Actuator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcActuator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcactuator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_actuatortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#AirToAirHeatRecovery + +s4bldg:AirToAirHeatRecovery a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid3 . + +_:genid3 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid4 . + +_:genid4 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid5 . + +_:genid5 a owl:Restriction ; + owl:onProperty s4bldg:primaryAirFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid6 . + +_:genid6 a owl:Restriction ; + owl:onProperty s4bldg:primaryAirFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid7 . + +_:genid7 a owl:Restriction ; + owl:onProperty s4bldg:secondaryAirFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid8 . + +_:genid8 a owl:Restriction ; + owl:onProperty s4bldg:secondaryAirFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid9 . + +_:genid9 a owl:Restriction ; + owl:onProperty s4bldg:hasDefrost ; + owl:allValuesFrom xsd:boolean . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid10 . + +_:genid10 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferTypeEnum ; + owl:allValuesFrom xsd:string . + +s4bldg:AirToAirHeatRecovery rdfs:comment "An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements."@en ; + rdfs:label "Air to air heat recovery"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAirToAirHeatRecovery" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcairtoairheatrecovery.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_airtoairheatrecoverytypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Alarm + +s4bldg:Alarm a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. + +Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms."""@en ; + rdfs:label "Alarm"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAlarm" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcalarm.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_alarmtypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#AudioVisualAppliance + +s4bldg:AudioVisualAppliance a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid11 . + +_:genid11 a owl:Restriction ; + owl:onProperty s4bldg:audioVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AudioVisualAppliance rdfs:subClassOf _:genid12 . + +_:genid12 a owl:Restriction ; + owl:onProperty s4bldg:mediaSource ; + owl:allValuesFrom xsd:string . + +s4bldg:AudioVisualAppliance rdfs:comment """An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. + +Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only."""@en ; + rdfs:label "Audio visual appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAudioVisualApplicance" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcaudiovisualappliance.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_audiovisualappliancetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Boiler + +s4bldg:Boiler a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid13 . + +_:genid13 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid14 . + +_:genid14 a owl:Restriction ; + owl:onProperty s4bldg:nominalEnergyConsumption ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid15 . + +_:genid15 a owl:Restriction ; + owl:onProperty s4bldg:nominalPartLoadRatio ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid16 . + +_:genid16 a owl:Restriction ; + owl:onProperty s4bldg:outletTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid17 . + +_:genid17 a owl:Restriction ; + owl:onProperty s4bldg:outletTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid18 . + +_:genid18 a owl:Restriction ; + owl:onProperty s4bldg:pressureRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid19 . + +_:genid19 a owl:Restriction ; + owl:onProperty s4bldg:waterInletTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid20 . + +_:genid20 a owl:Restriction ; + owl:onProperty s4bldg:waterInletTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid21 . + +_:genid21 a owl:Restriction ; + owl:onProperty s4bldg:waterStorageCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid22 . + +_:genid22 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:Boiler rdfs:subClassOf _:genid23 . + +_:genid23 a owl:Restriction ; + owl:onProperty s4bldg:isWaterStorageHeater ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Boiler rdfs:subClassOf _:genid24 . + +_:genid24 a owl:Restriction ; + owl:onProperty s4bldg:operatingMode ; + owl:allValuesFrom xsd:string . + +s4bldg:Boiler rdfs:comment "A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications."@en ; + rdfs:label "Boiler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBoiler" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcboiler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_boilertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Building + +s4bldg:Building a owl:Class ; + rdfs:subClassOf _:genid25 . + +_:genid25 a owl:Restriction ; + owl:onProperty s4bldg:hasSpace ; + owl:allValuesFrom s4bldg:BuildingSpace . + +s4bldg:Building rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building"@en ; + rdfs:seeAlso <https://w3id.org/ifc/IFC4_ADD1#IfcBuilding> ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcbuilding.htm> . +# +# https://saref.etsi.org/saref4bldg#BuildingDevice + +s4bldg:BuildingDevice a owl:Class ; + rdfs:subClassOf s4bldg:BuildingObject , saref:Device ; + rdfs:comment "A tangible object designed to accomplish a particular task in a building."@en ; + rdfs:label "Building device"@en . +# +# https://saref.etsi.org/saref4bldg#BuildingObject + +s4bldg:BuildingObject a owl:Class ; + rdfs:subClassOf s4bldg:PhysicalObject ; + rdfs:comment "An object in the building that can be controlled by devices, such as a door or a window that can be automatically opened or closed by an actuator. (Definition taken from SAREF 1.0)"@en ; + rdfs:label "Building object"@en . +# +# https://saref.etsi.org/saref4bldg#BuildingSpace + +s4bldg:BuildingSpace a owl:Class ; + rdfs:subClassOf _:genid26 . + +_:genid26 a owl:Restriction ; + owl:onProperty s4bldg:contains ; + owl:allValuesFrom s4bldg:PhysicalObject . + +s4bldg:BuildingSpace rdfs:subClassOf _:genid27 . + +_:genid27 a owl:Restriction ; + owl:onProperty s4bldg:hasSpace ; + owl:allValuesFrom s4bldg:BuildingSpace . + +s4bldg:BuildingSpace rdfs:subClassOf _:genid28 . + +_:genid28 a owl:Restriction ; + owl:onProperty s4bldg:isSpaceOf ; + owl:allValuesFrom _:genid29 . + +_:genid29 a owl:Class ; + owl:unionOf _:genid31 . + +_:genid31 a rdf:List ; + rdf:first s4bldg:Building ; + rdf:rest _:genid30 . + +_:genid30 a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest rdf:nil . + +s4bldg:BuildingSpace rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en . +# +# https://saref.etsi.org/saref4bldg#Burner + +s4bldg:Burner a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid32 . + +_:genid32 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:Burner rdfs:comment "A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners."@en ; + rdfs:label "Burner"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBurner" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcburner.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_burnertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Chiller + +s4bldg:Chiller a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid33 . + +_:genid33 a owl:Restriction ; + owl:onProperty s4bldg:nominalCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid34 . + +_:genid34 a owl:Restriction ; + owl:onProperty s4bldg:nominalCondensingTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid35 . + +_:genid35 a owl:Restriction ; + owl:onProperty s4bldg:nominalEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid36 . + +_:genid36 a owl:Restriction ; + owl:onProperty s4bldg:nominalEvaporatingTemmperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid37 . + +_:genid37 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatRejectionRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid38 . + +_:genid38 a owl:Restriction ; + owl:onProperty s4bldg:nominalPowerConsumption ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:comment "A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building."@en ; + rdfs:label "Chiller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcChiller" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcchiller.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_chillertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Coil + +s4bldg:Coil a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid39 . + +_:genid39 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid40 . + +_:genid40 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid41 . + +_:genid41 a owl:Restriction ; + owl:onProperty s4bldg:nominalLatentCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid42 . + +_:genid42 a owl:Restriction ; + owl:onProperty s4bldg:nominalSensibleCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid43 . + +_:genid43 a owl:Restriction ; + owl:onProperty s4bldg:nominalUa ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid44 . + +_:genid44 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid45 . + +_:genid45 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid46 . + +_:genid46 a owl:Restriction ; + owl:onProperty s4bldg:placementType ; + owl:allValuesFrom xsd:string . + +s4bldg:Coil rdfs:comment """A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. + +Coils may also be used for non-airflow cases such as embedded in a floor slab."""@en ; + rdfs:label "Coil"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoil" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoil.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coiltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#CommunicationAppliance + +s4bldg:CommunicationAppliance a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment """A communications appliance transmits and receives electronic or digital information as data or sound. + +Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."""@en ; + rdfs:label "Communication appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCommunicationAppliance" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifccommunicationsappliance.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_communicationsappliancetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Compressor + +s4bldg:Compressor a owl:Class ; + rdfs:subClassOf s4bldg:FlowMovingDevice , _:genid47 . + +_:genid47 a owl:Restriction ; + owl:onProperty s4bldg:compressorSpeed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid48 . + +_:genid48 a owl:Restriction ; + owl:onProperty s4bldg:idealCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid49 . + +_:genid49 a owl:Restriction ; + owl:onProperty s4bldg:idealShaftPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid50 . + +_:genid50 a owl:Restriction ; + owl:onProperty s4bldg:impellerDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid51 . + +_:genid51 a owl:Restriction ; + owl:onProperty s4bldg:nominalCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid52 . + +_:genid52 a owl:Restriction ; + owl:onProperty s4bldg:partLoadRatioMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid53 . + +_:genid53 a owl:Restriction ; + owl:onProperty s4bldg:partLoadRatioMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid54 . + +_:genid54 a owl:Restriction ; + owl:onProperty s4bldg:hasHotGasBypass ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Compressor rdfs:subClassOf _:genid55 . + +_:genid55 a owl:Restriction ; + owl:onProperty s4bldg:powerSource ; + owl:allValuesFrom xsd:string . + +s4bldg:Compressor rdfs:subClassOf _:genid56 . + +_:genid56 a owl:Restriction ; + owl:onProperty s4bldg:refrigerantClass ; + owl:allValuesFrom xsd:string . + +s4bldg:Compressor rdfs:comment "A compressor is a device that compresses a fluid typically used in a refrigeration circuit."@en ; + rdfs:label "Compressor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCompressor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccompressor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_compressortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Condenser + +s4bldg:Condenser a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid57 . + +_:genid57 a owl:Restriction ; + owl:onProperty s4bldg:externalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid58 . + +_:genid58 a owl:Restriction ; + owl:onProperty s4bldg:internalRefrigerantVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid59 . + +_:genid59 a owl:Restriction ; + owl:onProperty s4bldg:internalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid60 . + +_:genid60 a owl:Restriction ; + owl:onProperty s4bldg:internalWaterVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid61 . + +_:genid61 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid62 . + +_:genid62 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid63 . + +_:genid63 a owl:Restriction ; + owl:onProperty s4bldg:refrigerantClass ; + owl:allValuesFrom xsd:string . + +s4bldg:Condenser rdfs:comment "A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state."@en ; + rdfs:label "Condenser"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCondenser" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccondenser.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_condensertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Controller + +s4bldg:Controller a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """A controller is a device that monitors inputs and controls outputs within a building automation system. + +A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller)."""@en ; + rdfs:label "Controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcController" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifccontroller.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_controllertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#CooledBeam + +s4bldg:CooledBeam a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid64 . + +_:genid64 a owl:Restriction ; + owl:onProperty s4bldg:coilLength ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid65 . + +_:genid65 a owl:Restriction ; + owl:onProperty s4bldg:coilWidth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid66 . + +_:genid66 a owl:Restriction ; + owl:onProperty s4bldg:nominalCoolingCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid67 . + +_:genid67 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatingCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid68 . + +_:genid68 a owl:Restriction ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid69 . + +_:genid69 a owl:Restriction ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid70 . + +_:genid70 a owl:Restriction ; + owl:onProperty s4bldg:nominalSorroundingHumidityCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid71 . + +_:genid71 a owl:Restriction ; + owl:onProperty s4bldg:nominalSorroundingTemperatureCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid72 . + +_:genid72 a owl:Restriction ; + owl:onProperty s4bldg:nominalSorroundingTemperatureHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid73 . + +_:genid73 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid74 . + +_:genid74 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid75 . + +_:genid75 a owl:Restriction ; + owl:onProperty s4bldg:nominalWaterFlowCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid76 . + +_:genid76 a owl:Restriction ; + owl:onProperty s4bldg:nominalWaterFlowHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid77 . + +_:genid77 a owl:Restriction ; + owl:onProperty s4bldg:waterPressureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid78 . + +_:genid78 a owl:Restriction ; + owl:onProperty s4bldg:waterPressureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid79 . + +_:genid79 a owl:Restriction ; + owl:onProperty s4bldg:finishColor ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:subClassOf _:genid80 . + +_:genid80 a owl:Restriction ; + owl:onProperty s4bldg:integratedLightingType ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:subClassOf _:genid81 . + +_:genid81 a owl:Restriction ; + owl:onProperty s4bldg:isFreeHanging ; + owl:allValuesFrom xsd:boolean . + +s4bldg:CooledBeam rdfs:subClassOf _:genid82 . + +_:genid82 a owl:Restriction ; + owl:onProperty s4bldg:pipeConnectionEnum ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:subClassOf _:genid83 . + +_:genid83 a owl:Restriction ; + owl:onProperty s4bldg:waterFlowControlSystemType ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:comment "A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again."@en ; + rdfs:label "Cooled beam"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCooledBeam" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccooledbeam.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_cooledbeamtypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#CoolingTower + +s4bldg:CoolingTower a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid84 . + +_:genid84 a owl:Restriction ; + owl:onProperty s4bldg:ambientDesignDryBulbTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid85 . + +_:genid85 a owl:Restriction ; + owl:onProperty s4bldg:ambientDesignWetBulbTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid86 . + +_:genid86 a owl:Restriction ; + owl:onProperty s4bldg:basinReserveVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid87 . + +_:genid87 a owl:Restriction ; + owl:onProperty s4bldg:liftElevationDifference ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid88 . + +_:genid88 a owl:Restriction ; + owl:onProperty s4bldg:nominalCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid89 . + +_:genid89 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid90 . + +_:genid90 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid91 . + +_:genid91 a owl:Restriction ; + owl:onProperty s4bldg:waterRequirement ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid92 . + +_:genid92 a owl:Restriction ; + owl:onProperty s4bldg:capacityControl ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid93 . + +_:genid93 a owl:Restriction ; + owl:onProperty s4bldg:circuitType ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid94 . + +_:genid94 a owl:Restriction ; + owl:onProperty s4bldg:controlStrategy ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid95 . + +_:genid95 a owl:Restriction ; + owl:onProperty s4bldg:flowArrangement ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid96 . + +_:genid96 a owl:Restriction ; + owl:onProperty s4bldg:numberOfCells ; + owl:allValuesFrom xsd:integer . + +s4bldg:CoolingTower rdfs:subClassOf _:genid97 . + +_:genid97 a owl:Restriction ; + owl:onProperty s4bldg:sprayType ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:comment "A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation."@en ; + rdfs:label "Cooling tower"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoolingTower" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoolingtower.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coolingtowertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Damper + +s4bldg:Damper a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid98 . + +_:genid98 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid99 . + +_:genid99 a owl:Restriction ; + owl:onProperty s4bldg:bladeThickness ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid100 . + +_:genid100 a owl:Restriction ; + owl:onProperty s4bldg:closeOffRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid101 . + +_:genid101 a owl:Restriction ; + owl:onProperty s4bldg:faceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid102 . + +_:genid102 a owl:Restriction ; + owl:onProperty s4bldg:frameDepth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid103 . + +_:genid103 a owl:Restriction ; + owl:onProperty s4bldg:frameThickness ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid104 . + +_:genid104 a owl:Restriction ; + owl:onProperty s4bldg:leakageFullyClosed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid105 . + +_:genid105 a owl:Restriction ; + owl:onProperty s4bldg:nominalAirFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid106 . + +_:genid106 a owl:Restriction ; + owl:onProperty s4bldg:openPressureDrop ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid107 . + +_:genid107 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid108 . + +_:genid108 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid109 . + +_:genid109 a owl:Restriction ; + owl:onProperty s4bldg:temperatureRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid110 . + +_:genid110 a owl:Restriction ; + owl:onProperty s4bldg:workingPressureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid111 . + +_:genid111 a owl:Restriction ; + owl:onProperty s4bldg:bladeAction ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid112 . + +_:genid112 a owl:Restriction ; + owl:onProperty s4bldg:bladeEdge ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid113 . + +_:genid113 a owl:Restriction ; + owl:onProperty s4bldg:bladeShape ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid114 . + +_:genid114 a owl:Restriction ; + owl:onProperty s4bldg:frameType ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid115 . + +_:genid115 a owl:Restriction ; + owl:onProperty s4bldg:numberOfBlades ; + owl:allValuesFrom xsd:integer . + +s4bldg:Damper rdfs:subClassOf _:genid116 . + +_:genid116 a owl:Restriction ; + owl:onProperty s4bldg:operation ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid117 . + +_:genid117 a owl:Restriction ; + owl:onProperty s4bldg:orientation ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:comment "A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air."@en ; + rdfs:label "Damper"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDamper" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcdamper.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_dampertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#DistributionControlDevice + +s4bldg:DistributionControlDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionDevice ; + rdfs:comment "Represents devices of a building automation control system that are used to impart control over elements of a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributioncontrolelement.htm)"@en ; + rdfs:label "Distribution control device"@en . +# +# https://saref.etsi.org/saref4bldg#DistributionDevice + +s4bldg:DistributionDevice a owl:Class ; + rdfs:subClassOf s4bldg:BuildingDevice ; + rdfs:comment "Generalization of all devices that participate in a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcdistributionelement.htm)"@en ; + rdfs:label "Distribution device"@en . +# +# https://saref.etsi.org/saref4bldg#DistributionFlowDevice + +s4bldg:DistributionFlowDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionDevice ; + rdfs:comment "Represents devices of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributionflowelement.htm)"@en ; + rdfs:label "DistributionFlowDevice"@en . +# +# https://saref.etsi.org/saref4bldg#DuctSilencer + +s4bldg:DuctSilencer a owl:Class ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice , _:genid118 . + +_:genid118 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid119 . + +_:genid119 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid120 . + +_:genid120 a owl:Restriction ; + owl:onProperty s4bldg:hydraulicDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid121 . + +_:genid121 a owl:Restriction ; + owl:onProperty s4bldg:length ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid122 . + +_:genid122 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid123 . + +_:genid123 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid124 . + +_:genid124 a owl:Restriction ; + owl:onProperty s4bldg:weight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid125 . + +_:genid125 a owl:Restriction ; + owl:onProperty s4bldg:workingPressureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid126 . + +_:genid126 a owl:Restriction ; + owl:onProperty s4bldg:workingPressureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid127 . + +_:genid127 a owl:Restriction ; + owl:onProperty s4bldg:hasExteriorInsulation ; + owl:allValuesFrom xsd:boolean . + +s4bldg:DuctSilencer rdfs:comment "A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device."@en ; + rdfs:label "Duct silencer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDuctSilencer" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcductsilencer.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_ductsilencertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricAppliance + +s4bldg:ElectricAppliance a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment """An electric appliance is a device intended for consumer usage that is powered by electricity. + +Electric appliances may be fixed in place or may be able to be moved from one space to another. Electric appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."""@en ; + rdfs:label "Electric appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricAppliance" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricappliance.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricappliancetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricFlowStorageDevice + +s4bldg:ElectricFlowStorageDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowStorageDevice , _:genid128 . + +_:genid128 a owl:Restriction ; + owl:onProperty s4bldg:nominalFrequency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricFlowStorageDevice rdfs:subClassOf _:genid129 . + +_:genid129 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyVoltage ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricFlowStorageDevice rdfs:subClassOf _:genid130 . + +_:genid130 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyVoltageMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricFlowStorageDevice rdfs:comment "An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released."@en ; + rdfs:label "Electric flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricFlowStorageDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricflowstoragedevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricflowstoragedevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricGenerator + +s4bldg:ElectricGenerator a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid131 . + +_:genid131 a owl:Restriction ; + owl:onProperty s4bldg:electricGeneratorEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricGenerator rdfs:subClassOf _:genid132 . + +_:genid132 a owl:Restriction ; + owl:onProperty s4bldg:powerOutputMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricGenerator rdfs:subClassOf _:genid133 . + +_:genid133 a owl:Restriction ; + owl:onProperty s4bldg:startCurrentFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricGenerator rdfs:comment "An electric generator is an engine that is a machine for converting mechanical energy into electrical energy."@en ; + rdfs:label "Electric generator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricGenerator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricgenerator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricgeneratortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricMotor + +s4bldg:ElectricMotor a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid134 . + +_:genid134 a owl:Restriction ; + owl:onProperty s4bldg:electricMotorEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid135 . + +_:genid135 a owl:Restriction ; + owl:onProperty s4bldg:lockedRotorCurrent ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid136 . + +_:genid136 a owl:Restriction ; + owl:onProperty s4bldg:powerOutputMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid137 . + +_:genid137 a owl:Restriction ; + owl:onProperty s4bldg:startCurrentFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid138 . + +_:genid138 a owl:Restriction ; + owl:onProperty s4bldg:startingTime ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid139 . + +_:genid139 a owl:Restriction ; + owl:onProperty s4bldg:teTime ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid140 . + +_:genid140 a owl:Restriction ; + owl:onProperty s4bldg:frameSize ; + owl:allValuesFrom xsd:string . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid141 . + +_:genid141 a owl:Restriction ; + owl:onProperty s4bldg:hasPartWinding ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid142 . + +_:genid142 a owl:Restriction ; + owl:onProperty s4bldg:isGuarded ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid143 . + +_:genid143 a owl:Restriction ; + owl:onProperty s4bldg:motorEnclosureType ; + owl:allValuesFrom xsd:string . + +s4bldg:ElectricMotor rdfs:comment "An electric motor is an engine that is a machine for converting electrical energy into mechanical energy."@en ; + rdfs:label "Electric motor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricMotor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricmotor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricmotortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricTimeControl + +s4bldg:ElectricTimeControl a owl:Class ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:comment "An electric time control is a device that applies control to the provision or flow of electrical energy over time."@en ; + rdfs:label "Electric time control"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricTimeControl" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectrictimecontrol.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electrictimecontroltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#EnergyConversionDevice + +s4bldg:EnergyConversionDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element EnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system."@en ; + rdfs:label "Energy conversion device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEnergyConversionDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcenergyconversiondevice.htm> . +# +# https://saref.etsi.org/saref4bldg#Engine + +s4bldg:Engine a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid144 . + +_:genid144 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:Engine rdfs:comment "An engine is a device that converts fuel into mechanical energy through combustion."@en ; + rdfs:label "Engine"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEngine" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcengine.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_enginetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#EvaporativeCooler + +s4bldg:EvaporativeCooler a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid145 . + +_:genid145 a owl:Restriction ; + owl:onProperty s4bldg:heatExchangeArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid146 . + +_:genid146 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid147 . + +_:genid147 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid148 . + +_:genid148 a owl:Restriction ; + owl:onProperty s4bldg:waterRequirement ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid149 . + +_:genid149 a owl:Restriction ; + owl:onProperty s4bldg:flowArrangement ; + owl:allValuesFrom xsd:string . + +s4bldg:EvaporativeCooler rdfs:comment "An evaporative cooler is a device that cools air by saturating it with water vapor."@en ; + rdfs:label "Evaporative cooler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporativeCooler" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporativecooler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporativecoolertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Evaporator + +s4bldg:Evaporator a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid150 . + +_:genid150 a owl:Restriction ; + owl:onProperty s4bldg:externalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid151 . + +_:genid151 a owl:Restriction ; + owl:onProperty s4bldg:internalRefrigerantVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid152 . + +_:genid152 a owl:Restriction ; + owl:onProperty s4bldg:internalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid153 . + +_:genid153 a owl:Restriction ; + owl:onProperty s4bldg:internalWaterVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid154 . + +_:genid154 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid155 . + +_:genid155 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid156 . + +_:genid156 a owl:Restriction ; + owl:onProperty s4bldg:evaporationCoolant ; + owl:allValuesFrom xsd:string . + +s4bldg:Evaporator rdfs:subClassOf _:genid157 . + +_:genid157 a owl:Restriction ; + owl:onProperty s4bldg:evaporationMediumType ; + owl:allValuesFrom xsd:string . + +s4bldg:Evaporator rdfs:subClassOf _:genid158 . + +_:genid158 a owl:Restriction ; + owl:onProperty s4bldg:refrigerantClass ; + owl:allValuesFrom xsd:string . + +s4bldg:Evaporator rdfs:comment "An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid."@en ; + rdfs:label "Evaporator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporatortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Fan + +s4bldg:Fan a owl:Class ; + rdfs:subClassOf s4bldg:FlowMovingDevice , _:genid159 . + +_:genid159 a owl:Restriction ; + owl:onProperty s4bldg:nominalAirFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid160 . + +_:genid160 a owl:Restriction ; + owl:onProperty s4bldg:nominalPowerRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid161 . + +_:genid161 a owl:Restriction ; + owl:onProperty s4bldg:nominalRotationSpeed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid162 . + +_:genid162 a owl:Restriction ; + owl:onProperty s4bldg:nominalStaticPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid163 . + +_:genid163 a owl:Restriction ; + owl:onProperty s4bldg:nominalTotalPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid164 . + +_:genid164 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid165 . + +_:genid165 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid166 . + +_:genid166 a owl:Restriction ; + owl:onProperty s4bldg:operationalRiterial ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid167 . + +_:genid167 a owl:Restriction ; + owl:onProperty s4bldg:capacityControlType ; + owl:allValuesFrom xsd:string . + +s4bldg:Fan rdfs:subClassOf _:genid168 . + +_:genid168 a owl:Restriction ; + owl:onProperty s4bldg:motorDriveType ; + owl:allValuesFrom xsd:string . + +s4bldg:Fan rdfs:comment "A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system."@en ; + rdfs:label "Fan"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFan" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfan.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_fantypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Filter + +s4bldg:Filter a owl:Class ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice , _:genid169 . + +_:genid169 a owl:Restriction ; + owl:onProperty s4bldg:finalResistance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid170 . + +_:genid170 a owl:Restriction ; + owl:onProperty s4bldg:fluidFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid171 . + +_:genid171 a owl:Restriction ; + owl:onProperty s4bldg:fluidFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid172 . + +_:genid172 a owl:Restriction ; + owl:onProperty s4bldg:initialResistance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid173 . + +_:genid173 a owl:Restriction ; + owl:onProperty s4bldg:nominalFilterFaceVelocity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid174 . + +_:genid174 a owl:Restriction ; + owl:onProperty s4bldg:nominalFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid175 . + +_:genid175 a owl:Restriction ; + owl:onProperty s4bldg:nominalMediaSurfaceVelocity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid176 . + +_:genid176 a owl:Restriction ; + owl:onProperty s4bldg:nominalParticleGeometricMeanDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid177 . + +_:genid177 a owl:Restriction ; + owl:onProperty s4bldg:nominalParticleGeometricStandardDeviation ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid178 . + +_:genid178 a owl:Restriction ; + owl:onProperty s4bldg:nominalPressureDrop ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid179 . + +_:genid179 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid180 . + +_:genid180 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid181 . + +_:genid181 a owl:Restriction ; + owl:onProperty s4bldg:weight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:comment "A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases."@en ; + rdfs:label "Filter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFilter" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfilter.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_filtertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FireSuppressionTerminal + +s4bldg:FireSuppressionTerminal a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment """A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. + +A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire."""@en ; + rdfs:label "Fire suppression terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFireSuppressionTerminal" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcfiresuppressionterminal.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_firesuppressionterminaltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowController + +s4bldg:FlowController a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays."@en ; + rdfs:label "Flow controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowController" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowcontroller.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowInstrument + +s4bldg:FlowInstrument a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. + +Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)"""@en ; + rdfs:label "Flow instrument"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowInstrument" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcflowinstrument.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_flowinstrumenttypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowMeter + +s4bldg:FlowMeter a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid182 . + +_:genid182 a owl:Restriction ; + owl:onProperty s4bldg:readOutType ; + owl:allValuesFrom xsd:string . + +s4bldg:FlowMeter rdfs:subClassOf _:genid183 . + +_:genid183 a owl:Restriction ; + owl:onProperty s4bldg:remoteReading ; + owl:allValuesFrom xsd:boolean . + +s4bldg:FlowMeter rdfs:comment "A flow meter is a device that is used to measure the flow rate in a system."@en ; + rdfs:label "Flow meter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMeter" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcflowmeter.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_flowmetertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowMovingDevice + +s4bldg:FlowMovingDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system."@en ; + rdfs:label "Flow moving device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMovingDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowmovingdevice.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowStorageDevice + +s4bldg:FlowStorageDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank)."@en ; + rdfs:label "Flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowStorageDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowstoragedevice.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowTerminal + +s4bldg:FlowTerminal a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment."@en ; + rdfs:label "Flow terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTerminal" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowterminal.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowTreatmentDevice + +s4bldg:FlowTreatmentDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system."@en ; + rdfs:label "Flow treatment device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTreatmentDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowtreatmentdevice.htm> . +# +# https://saref.etsi.org/saref4bldg#HeatExchanger + +s4bldg:HeatExchanger a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid184 . + +_:genid184 a owl:Restriction ; + owl:onProperty s4bldg:arrangement ; + owl:allValuesFrom xsd:string . + +s4bldg:HeatExchanger rdfs:comment "A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. HeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas AirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air)."@en ; + rdfs:label "Heat exchanger"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHeatExchanger" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcheatexchanger.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_heatexchangertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Humidifier + +s4bldg:Humidifier a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid185 . + +_:genid185 a owl:Restriction ; + owl:onProperty s4bldg:nominalAirFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid186 . + +_:genid186 a owl:Restriction ; + owl:onProperty s4bldg:nominalMoistureGain ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid187 . + +_:genid187 a owl:Restriction ; + owl:onProperty s4bldg:waterRequirement ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid188 . + +_:genid188 a owl:Restriction ; + owl:onProperty s4bldg:weight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid189 . + +_:genid189 a owl:Restriction ; + owl:onProperty s4bldg:application ; + owl:allValuesFrom xsd:string . + +s4bldg:Humidifier rdfs:subClassOf _:genid190 . + +_:genid190 a owl:Restriction ; + owl:onProperty s4bldg:internalControl ; + owl:allValuesFrom xsd:string . + +s4bldg:Humidifier rdfs:comment "A humidifier is a device that adds moisture into the air."@en ; + rdfs:label "Humidifier"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHumidifier" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifchumidifier.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_humidifiertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Interceptor + +s4bldg:Interceptor a owl:Class ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice , _:genid191 . + +_:genid191 a owl:Restriction ; + owl:onProperty s4bldg:coverLength ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid192 . + +_:genid192 a owl:Restriction ; + owl:onProperty s4bldg:coverWidth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid193 . + +_:genid193 a owl:Restriction ; + owl:onProperty s4bldg:inletConnectionSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid194 . + +_:genid194 a owl:Restriction ; + owl:onProperty s4bldg:nominalBodyDepth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid195 . + +_:genid195 a owl:Restriction ; + owl:onProperty s4bldg:nominalBodyLength ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid196 . + +_:genid196 a owl:Restriction ; + owl:onProperty s4bldg:nominalBodyWidth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid197 . + +_:genid197 a owl:Restriction ; + owl:onProperty s4bldg:outletConnectionSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid198 . + +_:genid198 a owl:Restriction ; + owl:onProperty s4bldg:ventilatingPipeSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:comment "An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity."@en ; + rdfs:label "Interceptor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcInterceptor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcinterceptor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_interceptortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Lamp + +s4bldg:Lamp a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid199 . + +_:genid199 a owl:Restriction ; + owl:onProperty s4bldg:colorTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid200 . + +_:genid200 a owl:Restriction ; + owl:onProperty s4bldg:contributedLuminousFlux ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid201 . + +_:genid201 a owl:Restriction ; + owl:onProperty s4bldg:lampMaintenanceFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid202 . + +_:genid202 a owl:Restriction ; + owl:onProperty s4bldg:lightEmitterNominalPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid203 . + +_:genid203 a owl:Restriction ; + owl:onProperty s4bldg:spectrumMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid204 . + +_:genid204 a owl:Restriction ; + owl:onProperty s4bldg:spectrumMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid205 . + +_:genid205 a owl:Restriction ; + owl:onProperty s4bldg:colorAppearance ; + owl:allValuesFrom xsd:string . + +s4bldg:Lamp rdfs:subClassOf _:genid206 . + +_:genid206 a owl:Restriction ; + owl:onProperty s4bldg:colorRenderingIndex ; + owl:allValuesFrom xsd:integer . + +s4bldg:Lamp rdfs:subClassOf _:genid207 . + +_:genid207 a owl:Restriction ; + owl:onProperty s4bldg:lampBallastType ; + owl:allValuesFrom xsd:string . + +s4bldg:Lamp rdfs:subClassOf _:genid208 . + +_:genid208 a owl:Restriction ; + owl:onProperty s4bldg:lampCompensationType ; + owl:allValuesFrom xsd:string . + +s4bldg:Lamp rdfs:comment "A lamp is an artificial light source such as a light bulb or tube."@en ; + rdfs:label "Lamp"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcLamp" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifclamp.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_lamptypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#MedicalDevice + +s4bldg:MedicalDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment "A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide."@en ; + rdfs:label "Medical device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcMedicalDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcmedicaldevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_medicaldevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Outlet + +s4bldg:Outlet a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid209 . + +_:genid209 a owl:Restriction ; + owl:onProperty s4bldg:isPluggableOutlet ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Outlet rdfs:subClassOf _:genid210 . + +_:genid210 a owl:Restriction ; + owl:onProperty s4bldg:numberOsSockets ; + owl:allValuesFrom xsd:integer . + +s4bldg:Outlet rdfs:comment """An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. + +Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture."""@en ; + rdfs:label "Outlet"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcOutlet" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcoutlet.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_outlettypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#PhysicalObject + +s4bldg:PhysicalObject a owl:Class ; + rdfs:subClassOf _:genid211 . + +_:genid211 a owl:Restriction ; + owl:onProperty s4bldg:contains ; + owl:allValuesFrom s4bldg:PhysicalObject . + +s4bldg:PhysicalObject rdfs:subClassOf _:genid212 . + +_:genid212 a owl:Restriction ; + owl:onProperty s4bldg:isContainedIn ; + owl:allValuesFrom _:genid213 . + +_:genid213 a owl:Class ; + owl:unionOf _:genid215 . + +_:genid215 a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest _:genid214 . + +_:genid214 a rdf:List ; + rdf:first s4bldg:PhysicalObject ; + rdf:rest rdf:nil . + +s4bldg:PhysicalObject rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en . +# +# https://saref.etsi.org/saref4bldg#ProtectiveDevice + +s4bldg:ProtectiveDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:comment """A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. + +A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection."""@en ; + rdfs:label "Protective device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ProtectiveDeviceTrippingUnit + +s4bldg:ProtectiveDeviceTrippingUnit a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice , _:genid216 . + +_:genid216 a owl:Restriction ; + owl:onProperty s4bldg:limitingTerminalSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ProtectiveDeviceTrippingUnit rdfs:subClassOf _:genid217 . + +_:genid217 a owl:Restriction ; + owl:onProperty s4bldg:standard ; + owl:allValuesFrom xsd:string . + +s4bldg:ProtectiveDeviceTrippingUnit rdfs:comment "A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded."@en ; + rdfs:label "Protective device tripping unit"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDeviceTrippingUnit" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevicetrippingunit.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetrippingunittypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Pump + +s4bldg:Pump a owl:Class ; + rdfs:subClassOf s4bldg:FlowMovingDevice , _:genid218 . + +_:genid218 a owl:Restriction ; + owl:onProperty s4bldg:connectionSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid219 . + +_:genid219 a owl:Restriction ; + owl:onProperty s4bldg:flowResistanceMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid220 . + +_:genid220 a owl:Restriction ; + owl:onProperty s4bldg:flowResistanceMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid221 . + +_:genid221 a owl:Restriction ; + owl:onProperty s4bldg:netPositiveSuctionHead ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid222 . + +_:genid222 a owl:Restriction ; + owl:onProperty s4bldg:nomminalRotationSpeed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid223 . + +_:genid223 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid224 . + +_:genid224 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid225 . + +_:genid225 a owl:Restriction ; + owl:onProperty s4bldg:pumpFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid226 . + +_:genid226 a owl:Restriction ; + owl:onProperty s4bldg:pumpFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:comment "A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system."@en ; + rdfs:label "Pump"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcPump" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcpump.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_pumptypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SanitaryTerminal + +s4bldg:SanitaryTerminal a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment "A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal."@en ; + rdfs:label "Sanitary terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSanitaryTerminal" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcsanitaryterminal.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_sanitaryterminaltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Sensor + +s4bldg:Sensor a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice , saref:Sensor ; + rdfs:comment "A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument."@en ; + rdfs:label "Sensor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSensor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcsensor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_sensortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ShadingDevice + +s4bldg:ShadingDevice a owl:Class ; + rdfs:subClassOf s4bldg:BuildingDevice , _:genid227 . + +_:genid227 a owl:Restriction ; + owl:onProperty s4bldg:solarReflectance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid228 . + +_:genid228 a owl:Restriction ; + owl:onProperty s4bldg:solarTransmittance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid229 . + +_:genid229 a owl:Restriction ; + owl:onProperty s4bldg:thermalTransmittance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid230 . + +_:genid230 a owl:Restriction ; + owl:onProperty s4bldg:visibleLightReflectance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid231 . + +_:genid231 a owl:Restriction ; + owl:onProperty s4bldg:visibleLightTransmittance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid232 . + +_:genid232 a owl:Restriction ; + owl:onProperty s4bldg:isExternal ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid233 . + +_:genid233 a owl:Restriction ; + owl:onProperty s4bldg:mechanicalOperated ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid234 . + +_:genid234 a owl:Restriction ; + owl:onProperty s4bldg:roughness ; + owl:allValuesFrom xsd:string . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid235 . + +_:genid235 a owl:Restriction ; + owl:onProperty s4bldg:shadingDeviceType ; + owl:allValuesFrom xsd:string . + +s4bldg:ShadingDevice rdfs:comment "Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable."@en ; + rdfs:label "Shading device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcShadingDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcshadingdevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/pset/pset_shadingdevicecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SolarDevice + +s4bldg:SolarDevice a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:comment "A solar device converts solar radiation into other energy such as electric current or thermal energy."@en ; + rdfs:label "Solar device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSolarDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcsolardevicetypeenum.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_solardevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SpaceHeater + +s4bldg:SpaceHeater a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid236 . + +_:genid236 a owl:Restriction ; + owl:onProperty s4bldg:bodyMass ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid237 . + +_:genid237 a owl:Restriction ; + owl:onProperty s4bldg:outputCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid238 . + +_:genid238 a owl:Restriction ; + owl:onProperty s4bldg:thermalEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid239 . + +_:genid239 a owl:Restriction ; + owl:onProperty s4bldg:thermalMassHeatCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid240 . + +_:genid240 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid241 . + +_:genid241 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferDimension ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid242 . + +_:genid242 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferMedium ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid243 . + +_:genid243 a owl:Restriction ; + owl:onProperty s4bldg:numberOfPanels ; + owl:allValuesFrom xsd:integer . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid244 . + +_:genid244 a owl:Restriction ; + owl:onProperty s4bldg:numberOfSections ; + owl:allValuesFrom xsd:integer . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid245 . + +_:genid245 a owl:Restriction ; + owl:onProperty s4bldg:placementType ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid246 . + +_:genid246 a owl:Restriction ; + owl:onProperty s4bldg:temperatureClassification ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:comment """Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. + +UnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; Coil should be used for coil-based floor heating."""@en ; + rdfs:label "Space heater"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSpaceHeater" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcspaceheater.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_spaceheatertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SwitchingDevice + +s4bldg:SwitchingDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid247 . + +_:genid247 a owl:Restriction ; + owl:onProperty s4bldg:hasLock ; + owl:allValuesFrom xsd:boolean . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid248 . + +_:genid248 a owl:Restriction ; + owl:onProperty s4bldg:isIlluminated ; + owl:allValuesFrom xsd:boolean . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid249 . + +_:genid249 a owl:Restriction ; + owl:onProperty s4bldg:legend ; + owl:allValuesFrom xsd:string . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid250 . + +_:genid250 a owl:Restriction ; + owl:onProperty s4bldg:numberOfGangs ; + owl:allValuesFrom xsd:integer . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid251 . + +_:genid251 a owl:Restriction ; + owl:onProperty s4bldg:switchFunction ; + owl:allValuesFrom xsd:string . + +s4bldg:SwitchingDevice rdfs:comment """A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. + +Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports."""@en ; + rdfs:label "Switching device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSwitchingDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcswitchingdevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_switchingdevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Tank + +s4bldg:Tank a owl:Class ; + rdfs:subClassOf s4bldg:FlowStorageDevice , _:genid252 . + +_:genid252 a owl:Restriction ; + owl:onProperty s4bldg:effectiveCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid253 . + +_:genid253 a owl:Restriction ; + owl:onProperty s4bldg:firstCurvatureRadius ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid254 . + +_:genid254 a owl:Restriction ; + owl:onProperty s4bldg:nominalDepth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid255 . + +_:genid255 a owl:Restriction ; + owl:onProperty s4bldg:nominalLengthOrDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid256 . + +_:genid256 a owl:Restriction ; + owl:onProperty s4bldg:nominalVolumetricCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid257 . + +_:genid257 a owl:Restriction ; + owl:onProperty s4bldg:nominalWidthOrDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid258 . + +_:genid258 a owl:Restriction ; + owl:onProperty s4bldg:operatingWeight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid259 . + +_:genid259 a owl:Restriction ; + owl:onProperty s4bldg:secondCurvatureRadius ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid260 . + +_:genid260 a owl:Restriction ; + owl:onProperty s4bldg:accessType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:subClassOf _:genid261 . + +_:genid261 a owl:Restriction ; + owl:onProperty s4bldg:endShapeType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:subClassOf _:genid262 . + +_:genid262 a owl:Restriction ; + owl:onProperty s4bldg:numberOfSections ; + owl:allValuesFrom xsd:integer . + +s4bldg:Tank rdfs:subClassOf _:genid263 . + +_:genid263 a owl:Restriction ; + owl:onProperty s4bldg:patternType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:subClassOf _:genid264 . + +_:genid264 a owl:Restriction ; + owl:onProperty s4bldg:storageType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:comment "A tank is a vessel or container in which a fluid or gas is stored for later use."@en ; + rdfs:label "Tank"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTank" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctank.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tanktypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Transformer + +s4bldg:Transformer a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid265 . + +_:genid265 a owl:Restriction ; + owl:onProperty s4bldg:apparentPowerMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid266 . + +_:genid266 a owl:Restriction ; + owl:onProperty s4bldg:imaginaryImpedanceRatio ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid267 . + +_:genid267 a owl:Restriction ; + owl:onProperty s4bldg:primaryApparentPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid268 . + +_:genid268 a owl:Restriction ; + owl:onProperty s4bldg:primaryCurrent ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid269 . + +_:genid269 a owl:Restriction ; + owl:onProperty s4bldg:primaryFrequency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid270 . + +_:genid270 a owl:Restriction ; + owl:onProperty s4bldg:primaryVoltage ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid271 . + +_:genid271 a owl:Restriction ; + owl:onProperty s4bldg:realImpedanceRatio ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid272 . + +_:genid272 a owl:Restriction ; + owl:onProperty s4bldg:secondaryApparentPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid273 . + +_:genid273 a owl:Restriction ; + owl:onProperty s4bldg:secondaryCurrent ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid274 . + +_:genid274 a owl:Restriction ; + owl:onProperty s4bldg:secondaryFrequency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid275 . + +_:genid275 a owl:Restriction ; + owl:onProperty s4bldg:secondaryVoltage ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid276 . + +_:genid276 a owl:Restriction ; + owl:onProperty s4bldg:isNeutralPrimaryTerminalAvailable ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Transformer rdfs:subClassOf _:genid277 . + +_:genid277 a owl:Restriction ; + owl:onProperty s4bldg:isNeutralSecondaryTerminalAvailable ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Transformer rdfs:subClassOf _:genid278 . + +_:genid278 a owl:Restriction ; + owl:onProperty s4bldg:secondaryCurrentType ; + owl:allValuesFrom xsd:string . + +s4bldg:Transformer rdfs:subClassOf _:genid279 . + +_:genid279 a owl:Restriction ; + owl:onProperty s4bldg:transformerVectorGroup ; + owl:allValuesFrom xsd:string . + +s4bldg:Transformer rdfs:comment """A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. + +Transformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: Controller converts arbitrary signals, AudioVisualAppliance converts signals for audio or video streams, and CommunicationsAppliance converts signals for data or other communications usage."""@en ; + rdfs:label "Transformer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransformer" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifctransformer.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_transformertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#TransportElement + +s4bldg:TransportElement a owl:Class ; + rdfs:subClassOf saref:Device , _:genid280 . + +_:genid280 a owl:Restriction ; + owl:onProperty s4bldg:capacityWeight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TransportElement rdfs:subClassOf _:genid281 . + +_:genid281 a owl:Restriction ; + owl:onProperty s4bldg:capacityPeople ; + owl:allValuesFrom xsd:positiveInteger . + +s4bldg:TransportElement rdfs:subClassOf _:genid282 . + +_:genid282 a owl:Restriction ; + owl:onProperty s4bldg:fireExit ; + owl:allValuesFrom xsd:boolean . + +s4bldg:TransportElement rdfs:comment "A transport element is a generalization of all transport related objects that move people, animals or goods within a building or building complex. The TransportElement defines the occurrence of a transport element. "@en ; + rdfs:label "Transport element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransportElement" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifctransportelement.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/pset/pset_transportelementcommon.htm> . +# +# https://saref.etsi.org/saref4bldg#TubeBundle + +s4bldg:TubeBundle a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid283 . + +_:genid283 a owl:Restriction ; + owl:onProperty s4bldg:foulingFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid284 . + +_:genid284 a owl:Restriction ; + owl:onProperty s4bldg:horizontalSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid285 . + +_:genid285 a owl:Restriction ; + owl:onProperty s4bldg:inLineRowSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid286 . + +_:genid286 a owl:Restriction ; + owl:onProperty s4bldg:insideDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid287 . + +_:genid287 a owl:Restriction ; + owl:onProperty s4bldg:length ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid288 . + +_:genid288 a owl:Restriction ; + owl:onProperty s4bldg:nominalDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid289 . + +_:genid289 a owl:Restriction ; + owl:onProperty s4bldg:outsideDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid290 . + +_:genid290 a owl:Restriction ; + owl:onProperty s4bldg:staggeredRowSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid291 . + +_:genid291 a owl:Restriction ; + owl:onProperty s4bldg:thermalConductivity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid292 . + +_:genid292 a owl:Restriction ; + owl:onProperty s4bldg:verticalSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid293 . + +_:genid293 a owl:Restriction ; + owl:onProperty s4bldg:volumen ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid294 . + +_:genid294 a owl:Restriction ; + owl:onProperty s4bldg:hasTurbulator ; + owl:allValuesFrom xsd:boolean . + +s4bldg:TubeBundle rdfs:subClassOf _:genid295 . + +_:genid295 a owl:Restriction ; + owl:onProperty s4bldg:numberOfCircuits ; + owl:allValuesFrom xsd:integer . + +s4bldg:TubeBundle rdfs:subClassOf _:genid296 . + +_:genid296 a owl:Restriction ; + owl:onProperty s4bldg:numberOfRows ; + owl:allValuesFrom xsd:integer . + +s4bldg:TubeBundle rdfs:comment "A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil."@en ; + rdfs:label "Tube bundle"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTubeBundle" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctubebundle.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tubebundletypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#UnitaryControlElement + +s4bldg:UnitaryControlElement a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. + +A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location."""@en ; + rdfs:label "Unitary control element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcUnitaryControlElement" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcunitarycontrolelement.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_unitarycontrolelementtypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Valve + +s4bldg:Valve a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid297 . + +_:genid297 a owl:Restriction ; + owl:onProperty s4bldg:closeOffRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid298 . + +_:genid298 a owl:Restriction ; + owl:onProperty s4bldg:flowCoefficient ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid299 . + +_:genid299 a owl:Restriction ; + owl:onProperty s4bldg:size ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid300 . + +_:genid300 a owl:Restriction ; + owl:onProperty s4bldg:testPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid301 . + +_:genid301 a owl:Restriction ; + owl:onProperty s4bldg:workingPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid302 . + +_:genid302 a owl:Restriction ; + owl:onProperty s4bldg:valveMechanism ; + owl:allValuesFrom xsd:string . + +s4bldg:Valve rdfs:subClassOf _:genid303 . + +_:genid303 a owl:Restriction ; + owl:onProperty s4bldg:valveOperation ; + owl:allValuesFrom xsd:string . + +s4bldg:Valve rdfs:subClassOf _:genid304 . + +_:genid304 a owl:Restriction ; + owl:onProperty s4bldg:valvePattern ; + owl:allValuesFrom xsd:string . + +s4bldg:Valve rdfs:comment "A valve is used in a building services piping distribution system to control or modulate the flow of the fluid."@en ; + rdfs:label "Valve"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcValve" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvalve.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_valvetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#VibrationIsolator + +s4bldg:VibrationIsolator a owl:Class ; + rdfs:subClassOf saref:Device , _:genid305 . + +_:genid305 a owl:Restriction ; + owl:onProperty s4bldg:height ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid306 . + +_:genid306 a owl:Restriction ; + owl:onProperty s4bldg:isolatorCompressibility ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid307 . + +_:genid307 a owl:Restriction ; + owl:onProperty s4bldg:isolatorStaticDeflection ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid308 . + +_:genid308 a owl:Restriction ; + owl:onProperty s4bldg:supportedWeightMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid309 . + +_:genid309 a owl:Restriction ; + owl:onProperty s4bldg:vibrationTransmissibility ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:comment "A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building."@en ; + rdfs:label "Vibration isolator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcVibrationIsolator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvibrationisolator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_vibrationisolatortypecommon.htm> . +# +# https://w3id.org/saref#Actuator + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Actuator"@en . +# +# https://w3id.org/saref#Device + +saref:Device a owl:Class ; + rdfs:subClassOf s4bldg:PhysicalObject ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Device"@en . +# +# https://w3id.org/saref#Measurement + +saref:Measurement a owl:Class ; + rdfs:subClassOf _:genid310 . + +_:genid310 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid311 . + +_:genid311 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property . + +saref:Measurement rdfs:subClassOf _:genid312 . + +_:genid312 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid313 . + +_:genid313 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property . + +saref:Measurement rdfs:subClassOf _:genid314 . + +_:genid314 a owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime . + +saref:Measurement rdfs:subClassOf _:genid315 . + +_:genid315 a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float . + +saref:Measurement owl:disjointWith saref:Property , saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Measurement"@en . +# +# https://w3id.org/saref#Property + +saref:Property a owl:Class ; + owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Property"@en . +# +# https://w3id.org/saref#Sensor + +saref:Sensor a owl:Class ; + rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Sensor"@en . +# +# https://w3id.org/saref#UnitOfMeasure + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Unit of measure"@en . +# +# Generated by the OWL API (version 4.2.5.20160517-0735) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.html b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.html new file mode 100644 index 0000000000000000000000000000000000000000..33f248563e6384167127705753ade861e2d73058 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF extension for building devices</h1> + <p><strong>Official ETSI documentation for SAREF4BLDG v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4BLDG ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4BLDG v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4bldg.ttl">Turtle</a> or <a href="./saref4bldg.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4bldg#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.n3 b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.n3 new file mode 100644 index 0000000000000000000000000000000000000000..040d1f29be217ee606ed0343347ba934caca0059 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.n3 @@ -0,0 +1,3127 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix prov: <http://www.w3.org/ns/prov#> . + +s4bldg:frameType a owl:DatatypeProperty ; + rdfs:comment "The type of frame used by the damper (e.g., Standard, Single Flange, Single Reversed Flange, Double Flange, etc.)."@en ; + rdfs:label "frame type"@en ; + rdfs:range xsd:string . + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> + a owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "location"@en . + +s4bldg:heatTransferSurfaceArea + a owl:ObjectProperty ; + rdfs:comment "Total heat transfer area of the vessel. Usually measured in square metre (m2)."@en ; + rdfs:label "heat transfer surface area"@en . + +s4bldg:idealShaftPower + a owl:ObjectProperty ; + rdfs:comment "Compressor shaft power under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal shaft power"@en . + +s4bldg:capacityControl + a owl:DatatypeProperty ; + rdfs:comment "FanCycling: Fan is cycled on and off to control duty. TwoSpeedFan: Fan is switched between low and high speed to control duty. VariableSpeedFan: Fan speed is varied to control duty. DampersControl: Dampers modulate the air flow to control duty. BypassValveControl: Bypass valve modulates the water flow to control duty. MultipleSeriesPumps: Turn on/off multiple series pump to control duty. TwoSpeedPump: Switch between high/low pump speed to control duty. VariableSpeedPump: vary pump speed to control duty."@en ; + rdfs:label "capacity control"@en ; + rdfs:range xsd:string . + +s4bldg:bladeThickness + a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper blade. Usually measured in millimeters (mm)."@en ; + rdfs:label "blade thickness"@en . + +s4bldg:hasExteriorInsulation + a owl:DatatypeProperty ; + rdfs:comment "TRUE if the silencer has exterior insulation. FALSE if it does not."@en ; + rdfs:label "has exterior insulation"@en ; + rdfs:range xsd:boolean . + +s4bldg:ElectricMotor a owl:Class ; + rdfs:comment "An electric motor is an engine that is a machine for converting electrical energy into mechanical energy."@en ; + rdfs:label "Electric motor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricMotor" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:teTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:lockedRotorCurrent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasPartWinding + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:frameSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:motorEnclosureType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:startCurrentFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:electricMotorEfficiency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:powerOutputMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isGuarded + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:startingTime + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricmotortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricmotor.htm> . + +s4bldg:limitingTerminalSize + a owl:ObjectProperty ; + rdfs:comment "The maximum terminal size capacity of the device. Usually measured in square metre (m2)."@en ; + rdfs:label "limiting terminal size"@en . + +s4bldg:roughness a owl:DatatypeProperty ; + rdfs:comment "A measure of the vertical deviations of the surface."@en ; + rdfs:label "roughness"@en ; + rdfs:range xsd:string . + +s4bldg:colorRenderingIndex + a owl:DatatypeProperty ; + rdfs:comment "The CRI indicates how well a light source renders eight standard colors compared to perfect reference lamp with the same color temperature. The CRI scale ranges from 1 to 100, with 100 representing perfect rendering properties."@en ; + rdfs:label "color rendering index"@en ; + rdfs:range xsd:integer . + +s4bldg:imaginaryImpedanceRatio + a owl:ObjectProperty ; + rdfs:comment "The ratio between the imaginary part of the zero sequence impedance and the imaginary part of the positive impedance (i.e. imaginary part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "imaginary impedance ratio"@en . + +s4bldg:coverWidth a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover width"@en . + +s4bldg:height a owl:ObjectProperty ; + rdfs:comment "Height of the vibration isolator before tha application of load. Usually measured in millimeters (mm)."@en ; + rdfs:label "height"@en . + +s4bldg:thermalTransmittance + a owl:ObjectProperty ; + rdfs:comment "Rate at which energy is transmitted through a body. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "thermal transmittance"@en . + +s4bldg:DuctSilencer a owl:Class ; + rdfs:comment "A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device."@en ; + rdfs:label "Duct silencer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDuctSilencer" ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasExteriorInsulation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:weight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:length + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:hydraulicDiameter + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_ductsilencertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcductsilencer.htm> . + +s4bldg:UnitaryControlElement + a owl:Class ; + rdfs:comment "A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat.\n\nA unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location."@en ; + rdfs:label "Unitary control element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcUnitaryControlElement" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_unitarycontrolelementtypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcunitarycontrolelement.htm> . + +s4bldg:numberOfSections + a owl:DatatypeProperty ; + rdfs:comment "Number of sections used."@en ; + rdfs:label "number of sections"@en ; + rdfs:range xsd:integer . + +s4bldg:heatTransferDimension + a owl:DatatypeProperty ; + rdfs:comment "Indicates how heat is transmitted according to the shape of the space heater."@en ; + rdfs:label "heat transfer dimension"@en ; + rdfs:range xsd:string . + +s4bldg:DistributionDevice + a owl:Class ; + rdfs:comment "Generalization of all devices that participate in a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcdistributionelement.htm)"@en ; + rdfs:label "Distribution device"@en ; + rdfs:subClassOf s4bldg:BuildingDevice . + +s4bldg:nominalCoolingCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal cooling capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal cooling capacity"@en . + +s4bldg:placementType a owl:DatatypeProperty ; + rdfs:comment "Indicates how the device is designed to be placed."@en ; + rdfs:label "placement type"@en ; + rdfs:range xsd:string . + +s4bldg:bladeAction a owl:DatatypeProperty ; + rdfs:comment "Blade action."@en ; + rdfs:label "blade action"@en ; + rdfs:range xsd:string . + +s4bldg:ambientDesignDryBulbTemperature + a owl:ObjectProperty ; + rdfs:comment "Ambient design dry bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design dry bulb temperature"@en . + +s4bldg:bladeShape a owl:DatatypeProperty ; + rdfs:comment "Blade shape. Flat means triple V-groove."@en ; + rdfs:label "blade shape"@en ; + rdfs:range xsd:string . + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en . + +s4bldg:insideDiameter + a owl:ObjectProperty ; + rdfs:comment "Actual inner diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "inside diameter"@en . + +s4bldg:Pump a owl:Class ; + rdfs:comment "A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system."@en ; + rdfs:label "Pump"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcPump" ; + rdfs:subClassOf s4bldg:FlowMovingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:netPositiveSuctionHead + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:flowResistanceMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:connectionSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:pumpFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nomminalRotationSpeed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:flowResistanceMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:pumpFlowRateMax + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcpump.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_pumptypecommon.htm> . + +s4bldg:FlowController + a owl:Class ; + rdfs:comment "The distribution flow element FlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays."@en ; + rdfs:label "Flow controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowController" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowcontroller.htm> . + +s4bldg:waterInletTemperatureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . + +s4bldg:evaporationCoolant + a owl:DatatypeProperty ; + rdfs:comment "The fluid used for the coolant in the evaporator."@en ; + rdfs:label "evaporation coolant"@en ; + rdfs:range xsd:string . + +s4bldg:TubeBundle a owl:Class ; + rdfs:comment "A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil."@en ; + rdfs:label "Tube bundle"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTubeBundle" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:inLineRowSpacing + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfCircuits + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalConductivity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:volumen + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:horizontalSpacing + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasTurbulator + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:foulingFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:insideDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:length + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfRows + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:verticalSpacing + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outsideDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:staggeredRowSpacing + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tubebundletypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctubebundle.htm> . + +s4bldg:shadingDeviceType + a owl:DatatypeProperty ; + rdfs:comment "Specifies the type of shading device."@en ; + rdfs:label "shading device type"@en ; + rdfs:range xsd:string . + +s4bldg:lightEmitterNominalPower + a owl:ObjectProperty ; + rdfs:comment "Light emitter nominal power. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "light emitter nominal power"@en . + +s4bldg:Valve a owl:Class ; + rdfs:comment "A valve is used in a building services piping distribution system to control or modulate the flow of the fluid."@en ; + rdfs:label "Valve"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcValve" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:valvePattern + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:valveOperation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:testPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:flowCoefficient + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:size + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:closeOffRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:valveMechanism + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvalve.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_valvetypecommon.htm> . + +s4bldg:Interceptor a owl:Class ; + rdfs:comment "An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity."@en ; + rdfs:label "Interceptor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcInterceptor" ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outletConnectionSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:inletConnectionSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalBodyDepth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:ventilatingPipeSize + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalBodyLength + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coverLength + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalBodyWidth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coverWidth + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_interceptortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcinterceptor.htm> . + +s4bldg:standard a owl:DatatypeProperty ; + rdfs:comment "The designation of the standard applicable for the definition of the characteristics of the unit."@en ; + rdfs:label "standard"@en ; + rdfs:range xsd:string . + +s4bldg:finishColor a owl:DatatypeProperty ; + rdfs:comment "Finish color for cooled beam."@en ; + rdfs:label "finish color"@en ; + rdfs:range xsd:string . + +s4bldg:frameDepth a owl:ObjectProperty ; + rdfs:comment "The length (or depth) of the damper frame. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame depth"@en . + +s4bldg:numberOfBlades + a owl:DatatypeProperty ; + rdfs:comment "Number of blades."@en ; + rdfs:label "number of blades"@en ; + rdfs:range xsd:integer . + +s4bldg:nominalDiameter + a owl:ObjectProperty ; + rdfs:comment "Nominal diameter or width of the tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal diameter"@en . + +s4bldg:visibleLightReflectance + a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that is reflected by the glazing at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light reflectance"@en . + +s4bldg:volumen a owl:ObjectProperty ; + rdfs:comment "Total volume of fluid in the tubes and their headers. Usually measured in cubic metre (m3)."@en ; + rdfs:label "volumen"@en . + +s4bldg:isPluggableOutlet + a owl:DatatypeProperty ; + rdfs:comment "Indication of whether the outlet accepts a loose plug connection (= TRUE) or whether it is directly connected (= FALSE) or whether the form of connection has not yet been determined (= UNKNOWN)."@en ; + rdfs:label "is pluggable outlet"@en ; + rdfs:range xsd:boolean . + +s4bldg:nominalDepth a owl:ObjectProperty ; + rdfs:comment "The nominal depth of the tank. Note: Not required for a horizontal cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal depth"@en . + +s4bldg:Transformer a owl:Class ; + rdfs:comment "A transformer is an inductive stationary device that transfers electrical energy from one circuit to another.\n\nTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: Controller converts arbitrary signals, AudioVisualAppliance converts signals for audio or video streams, and CommunicationsAppliance converts signals for data or other communications usage."@en ; + rdfs:label "Transformer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransformer" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:apparentPowerMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isNeutralPrimaryTerminalAvailable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryCurrent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryFrequency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryApparentPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryCurrent + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryApparentPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:imaginaryImpedanceRatio + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryFrequency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isNeutralSecondaryTerminalAvailable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:realImpedanceRatio + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:transformerVectorGroup + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryVoltage + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryVoltage + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:secondaryCurrentType + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifctransformer.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_transformertypecommon.htm> . + +s4bldg:nominalVolumetricCapacity + a owl:ObjectProperty ; + rdfs:comment "The total nominal or design volumetric capacity of the tank. Usually measured in cubic metre (m3)."@en ; + rdfs:label "nominal volumetric capacity"@en . + +s4bldg:outsideDiameter + a owl:ObjectProperty ; + rdfs:comment "Actual outside diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "outside diameter"@en . + +s4bldg:nominalLengthOrDiameter + a owl:ObjectProperty ; + rdfs:comment "The nominal length or, in the case of a vertical cylindrical tank, the nominal diameter of the tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal length or diameter"@en . + +s4bldg:nominalCondensingTemperature + a owl:ObjectProperty ; + rdfs:comment "Chiller condensing temperature. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal condensing temperature"@en . + +s4bldg:CooledBeam a owl:Class ; + rdfs:comment "A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again."@en ; + rdfs:label "Cooled beam"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCooledBeam" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coilWidth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatingCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:integratedLightingType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalWaterFlowHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterPressureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCoolingCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterPressureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalWaterFlowCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:waterFlowControlSystemType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSorroundingHumidityCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSorroundingTemperatureCooling + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:finishColor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:pipeConnectionEnum + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSorroundingTemperatureHeating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isFreeHanging + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:coilLength + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccooledbeam.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_cooledbeamtypecommon.htm> . + +s4bldg:numberOfPanels + a owl:DatatypeProperty ; + rdfs:comment "Number of panels."@en ; + rdfs:label "number of panels"@en ; + rdfs:range xsd:integer . + +s4bldg:nominalWaterFlowCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal cooling capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow cooling"@en . + +s4bldg:nominalSorroundingTemperatureCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature cooling"@en . + +s4bldg:flowResistanceMin + a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . + +s4bldg:Condenser a owl:Class ; + rdfs:comment "A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state."@en ; + rdfs:label "Condenser"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCondenser" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:refrigerantClass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalWaterVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalRefrigerantVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:externalSurfaceArea + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_condensertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccondenser.htm> . + +s4bldg:accessType a owl:DatatypeProperty ; + rdfs:comment "Defines the types of access (or cover) to a tank that may be specified. Note that covers are generally specified for rectangular tanks. For cylindrical tanks, access will normally be via a manhole."@en ; + rdfs:label "access type"@en ; + rdfs:range xsd:string . + +s4bldg:isNeutralSecondaryTerminalAvailable + a owl:DatatypeProperty ; + rdfs:comment "An indication of whether the neutral point of the secondary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral secondary terminal available"@en ; + rdfs:range xsd:boolean . + +s4bldg:secondaryAirFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . + +s4bldg:MedicalDevice a owl:Class ; + rdfs:comment "A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide."@en ; + rdfs:label "Medical device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcMedicalDevice" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_medicaldevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcmedicaldevice.htm> . + +s4bldg:hasTurbulator a owl:DatatypeProperty ; + rdfs:comment "TRUE if the tube has a turbulator, FALSE if it does not."@en ; + rdfs:label "has turbulator"@en ; + rdfs:range xsd:boolean . + +s4bldg:ElectricFlowStorageDevice + a owl:Class ; + rdfs:comment "An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released."@en ; + rdfs:label "Electric flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricFlowStorageDevice" ; + rdfs:subClassOf s4bldg:FlowStorageDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyVoltageMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalFrequency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSupplyVoltage + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricflowstoragedevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricflowstoragedevice.htm> . + +s4bldg:teTime a owl:ObjectProperty ; + rdfs:comment "The maximum time (in s) at which the motor could run with locked rotor when the motor is used in an EX-environment. The time indicates that a protective device should trip before this time when the starting current of the motor is slowing through the device."@en ; + rdfs:label "te time"@en . + +s4bldg:firstCurvatureRadius + a owl:ObjectProperty ; + rdfs:comment "FirstCurvatureRadius should be defined as the base or left side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "first curvature radius"@en . + +s4bldg:isSpaceOf a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Relation between a building space and the building or building space it belongs to."@en ; + rdfs:label "isSpaceOf"@en . + +s4bldg:airFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Maximum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range max"@en . + +s4bldg:FireSuppressionTerminal + a owl:Class ; + rdfs:comment "A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire.\n\nA fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire."@en ; + rdfs:label "Fire suppression terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFireSuppressionTerminal" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_firesuppressionterminaltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcfiresuppressionterminal.htm> . + +s4bldg:Coil a owl:Class ; + rdfs:comment "A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface.\n\nCoils may also be used for non-airflow cases such as embedded in a floor slab."@en ; + rdfs:label "Coil"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoil" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalUa + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalSensibleCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:placementType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalLatentCapacity + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coiltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoil.htm> . + +s4bldg:nominalAirFlowRate + a owl:ObjectProperty ; + rdfs:comment "Nominal rate of air flow. Usually measured in m3/s."@en ; + rdfs:label "nominal air flow rate"@en . + +s4bldg:primaryVoltage + a owl:ObjectProperty ; + rdfs:comment "The voltage that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "primary voltage"@en . + +s4bldg:numberOfCircuits + a owl:DatatypeProperty ; + rdfs:comment "Number of parallel fluid tube circuits."@en ; + rdfs:label "number of circuits"@en ; + rdfs:range xsd:integer . + +s4bldg:TransportElement + a owl:Class ; + rdfs:comment "A transport element is a generalization of all transport related objects that move people, animals or goods within a building or building complex. The TransportElement defines the occurrence of a transport element. "@en ; + rdfs:label "Transport element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransportElement" ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:fireExit + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:capacityWeight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:positiveInteger ; + owl:onProperty s4bldg:capacityPeople + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifctransportelement.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/pset/pset_transportelementcommon.htm> . + +s4bldg:colorTemperature + a owl:ObjectProperty ; + rdfs:comment "The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "color temperature"@en . + +s4bldg:spectrumMin a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "minimum spectrum"@en . + +s4bldg:numberOfCells a owl:DatatypeProperty ; + rdfs:comment "Number of cells in one cooling tower unit."@en ; + rdfs:label "number of cells"@en ; + rdfs:range xsd:integer . + +s4bldg:secondaryFrequency + a owl:ObjectProperty ; + rdfs:comment "The frequency that has been transformed and is running out of the transformer on the secondary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "secondary frequency"@en . + +s4bldg:SwitchingDevice + a owl:Class ; + rdfs:comment "A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity.\n\nSwitches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports."@en ; + rdfs:label "Switching device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSwitchingDevice" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:switchFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:legend + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isIlluminated + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfGangs + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasLock + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_switchingdevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcswitchingdevice.htm> . + +s4bldg:partLoadRatioMin + a owl:ObjectProperty ; + rdfs:comment "Minimum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "minimum part load ratio"@en . + +s4bldg:FlowTreatmentDevice + a owl:Class ; + rdfs:comment "The distribution flow element FlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system."@en ; + rdfs:label "Flow treatment device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTreatmentDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowtreatmentdevice.htm> . + +s4bldg:lockedRotorCurrent + a owl:ObjectProperty ; + rdfs:comment "Input current when a motor armature is energized but not rotating. Usually measured in Ampere (A)."@en ; + rdfs:label "locked rotor current"@en . + +s4bldg:capacityPeople + a owl:DatatypeProperty ; + rdfs:comment "Capacity of the transportation element measured in numbers of person."@en ; + rdfs:label "capacity people"@en ; + rdfs:range xsd:nonNegativeInteger . + +s4bldg:Building a owl:Class ; + rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building"@en ; + rdfs:seeAlso <https://w3id.org/ifc/IFC4_ADD1#IfcBuilding> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:BuildingSpace ; + owl:onProperty s4bldg:hasSpace + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcbuilding.htm> . + +s4bldg:bladeEdge a owl:DatatypeProperty ; + rdfs:comment "Blade edge."@en ; + rdfs:label "blade edge"@en ; + rdfs:range xsd:string . + +s4bldg:FlowMeter a owl:Class ; + rdfs:comment "A flow meter is a device that is used to measure the flow rate in a system."@en ; + rdfs:label "Flow meter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMeter" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:remoteReading + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:readOutType + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_flowmetertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcflowmeter.htm> . + +s4bldg:evaporationMediumType + a owl:DatatypeProperty ; + rdfs:comment "ColdLiquid: Evaporator is using liquid type of fluid to exchange heat with refrigerant. ColdAir: Evaporator is using air to exchange heat with refrigerant."@en ; + rdfs:label "evaporation medium type"@en ; + rdfs:range xsd:string . + +s4bldg:frameSize a owl:DatatypeProperty ; + rdfs:comment "Designation of the frame size according to the named range of frame sizes designated at the place of use or according to a given standard."@en ; + rdfs:label "frame size"@en ; + rdfs:range xsd:string . + +s4bldg:audioVolume a owl:ObjectProperty ; + rdfs:comment "Indicates discrete audio volume levels and corresponding sound power offsets, if applicable. Missing values may be interpolated. Measured in watts."@en ; + rdfs:label "audio volume"@en . + +s4bldg:finalResistance + a owl:ObjectProperty ; + rdfs:comment "Filter fluid resistance when replacement is required (i.e., Pressure drop at the maximum air flowrate across the filter when the filter needs replacement per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "final resistance"@en . + +s4bldg:nominalBodyWidth + a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the y-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body width"@en . + +s4bldg:sprayType a owl:DatatypeProperty ; + rdfs:comment "SprayFilled: Water is sprayed into airflow. SplashTypeFill: water cascades over successive rows of splash bars. FilmTypeFill: water flows in a thin layer over closely spaced sheets."@en ; + rdfs:label "spray type"@en ; + rdfs:range xsd:string . + +s4bldg:primaryAirFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Maximum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . + +s4bldg:compressorSpeed + a owl:ObjectProperty ; + rdfs:comment "Compressor speed. Usually measured in cycles/s."@en ; + rdfs:label "compressor speed"@en . + +s4bldg:isExternal a owl:DatatypeProperty ; + rdfs:comment "Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building."@en ; + rdfs:label "is external"@en ; + rdfs:range xsd:boolean . + +s4bldg:powerSource a owl:DatatypeProperty ; + rdfs:comment "Type of power driving the compressor."@en ; + rdfs:label "power source"@en ; + rdfs:range xsd:string . + +s4bldg:HeatExchanger a owl:Class ; + rdfs:comment "A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. HeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas AirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air)."@en ; + rdfs:label "Heat exchanger"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHeatExchanger" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:arrangement + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_heatexchangertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcheatexchanger.htm> . + +s4bldg:AudioVisualAppliance + a owl:Class ; + rdfs:comment "An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video.\n\nAudio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only."@en ; + rdfs:label "Audio visual appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAudioVisualApplicance" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:mediaSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:audioVolume + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_audiovisualappliancetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcaudiovisualappliance.htm> . + +s4bldg:thermalEfficiency + a owl:ObjectProperty ; + rdfs:comment "Overall Thermal Efficiency is defined as gross energy output of the heat transfer device divided by the energy input."@en ; + rdfs:label "thermal efficiency"@en . + +s4bldg:internalControl + a owl:DatatypeProperty ; + rdfs:comment "Internal modulation control."@en ; + rdfs:label "internal control"@en ; + rdfs:range xsd:string . + +s4bldg:valveOperation + a owl:DatatypeProperty ; + rdfs:comment "The method of valve operation where: DROPWEIGHT: A valve that is closed by the action of a weighted lever being released, the weight normally being prevented from dropping by being held by a wire, the closure normally being made by the action of heat on a fusible link in the wire FLOAT: A valve that is opened and closed by the action of a float that rises and falls with water level. The float may be a ball attached to a lever or other mechanism HYDRAULIC: A valve that is opened and closed by hydraulic actuation LEVER: A valve that is opened and closed by the action of a lever rotating the gate within the valve. LOCKSHIELD: A valve that requires the use of a special lockshield key for opening and closing, the operating mechanism being protected by a shroud during normal operation. MOTORIZED: A valve that is opened and closed by the action of an electric motor on an actuator PNEUMATIC: A valve that is opened and closed by pneumatic actuation SOLENOID: A valve that is normally held open by a magnetic field in a coil acting on the gate but that is closed immediately if the electrical current generating the magnetic field is removed. SPRING: A valve that is normally held in position by the pressure of a spring on a plate but that may be caused to open if the pressure of the fluid is sufficient to overcome the spring pressure. THERMOSTATIC: A valve in which the ports are opened or closed to maintain a required predetermined temperature. WHEEL: A valve that is opened and closed by the action of a wheel moving the gate within the valve."@en ; + rdfs:label "valve operation"@en ; + rdfs:range xsd:string . + +s4bldg:nominalSupplyVoltageMax + a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . + +s4bldg:nominalSupplyWaterTemperatureHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature heating"@en . + +s4bldg:externalSurfaceArea + a owl:ObjectProperty ; + rdfs:comment "External surface area (both primary and secondary area). Usually measured in square metre (m2)."@en ; + rdfs:label "external surface area"@en . + +s4bldg:PhysicalObject + a owl:Class ; + rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf [ a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest [ a rdf:List ; + rdf:first s4bldg:PhysicalObject ; + rdf:rest () + ] + ] + ] ; + owl:onProperty s4bldg:isContainedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:PhysicalObject ; + owl:onProperty s4bldg:contains + ] . + +s4bldg:isIlluminated a owl:DatatypeProperty ; + rdfs:comment "An indication of whether there is an illuminated indicator to show that the switch is on (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is illuminated"@en ; + rdfs:range xsd:boolean . + +s4bldg:hasHotGasBypass + a owl:DatatypeProperty ; + rdfs:comment "Whether or not hot gas bypass is provided for the compressor. TRUE = Yes, FALSE = No."@en ; + rdfs:label "has hot gas bypass"@en ; + rdfs:range xsd:boolean . + +s4bldg:legend a owl:DatatypeProperty ; + rdfs:comment "A text inscribed or applied to the switch as a legend to indicate purpose or function."@en ; + rdfs:label "legend"@en ; + rdfs:range xsd:string . + +s4bldg:waterInletTemperatureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . + +s4bldg:DistributionFlowDevice + a owl:Class ; + rdfs:comment "Represents devices of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributionflowelement.htm)"@en ; + rdfs:label "DistributionFlowDevice"@en ; + rdfs:subClassOf s4bldg:DistributionDevice . + +s4bldg:isContainedIn a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between an object and the physical space in which it is located."@en ; + rdfs:label "is contained in"@en . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + owl:disjointWith saref:Property , saref:UnitOfMeasure . + +s4bldg:controlStrategy + a owl:DatatypeProperty ; + rdfs:comment "FixedExitingWaterTemp: The capacity is controlled to maintain a fixed exiting water temperature. WetBulbTempReset: The set-point is reset based on the wet-bulb temperature."@en ; + rdfs:label "control strategy"@en ; + rdfs:range xsd:string . + +s4bldg:contains a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a physical space and the objects located in such space."@en ; + rdfs:label "contains"@en ; + owl:inverseOf s4bldg:isContainedIn . + +s4bldg:coilLength a owl:ObjectProperty ; + rdfs:comment "Length of coil. Usually measured in millimeters (mm)."@en ; + rdfs:label "coil length"@en . + +s4bldg:FlowMovingDevice + a owl:Class ; + rdfs:comment "The distribution flow element FlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system."@en ; + rdfs:label "Flow moving device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMovingDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowmovingdevice.htm> . + +s4bldg:startingTime a owl:ObjectProperty ; + rdfs:comment "The time (in s) needed for the motor to reach its rated speed with its driven equipment attached, starting from standstill and at the nominal voltage applied at its terminals."@en ; + rdfs:label "starting time"@en . + +s4bldg:outputCapacity + a owl:ObjectProperty ; + rdfs:comment "Total nominal heat output as listed by the manufacturer. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "output capacity"@en . + +s4bldg:secondaryCurrent + a owl:ObjectProperty ; + rdfs:comment "The current that has been transformed and is running out of the transformer on the secondary side. Usually measured in Ampere (A)."@en ; + rdfs:label "secondary current"@en . + +s4bldg:secondaryCurrentType + a owl:DatatypeProperty ; + rdfs:comment "A list of the secondary current types that can result from transformer output."@en ; + rdfs:label "secondary current type"@en ; + rdfs:range xsd:string . + +s4bldg:heatExchangeArea + a owl:ObjectProperty ; + rdfs:comment "Heat exchange area. Usually measured in square metre (m2)."@en ; + rdfs:label "heat exchange area"@en . + +s4bldg:fireExit a owl:DatatypeProperty ; + rdfs:comment "Indication whether this object is designed to serve as an exit in the case of fire (TRUE) or not (FALSE). Here whether the transport element (in case of e.g., a lift) is designed to serve as a fire exit, e.g., for fire escape purposes."@en ; + rdfs:label "fire exit"@en ; + rdfs:range xsd:boolean . + +s4bldg:numberOsSockets + a owl:DatatypeProperty ; + rdfs:comment "The number of sockets that may be connected. In case of inconsistency, sockets defined on ports take precedence."@en ; + rdfs:label "number os sockets"@en ; + rdfs:range xsd:integer . + +s4bldg:arrangement a owl:DatatypeProperty ; + rdfs:comment "Defines the basic flow arrangements for the heat exchanger: COUNTERFLOW: Counterflow heat exchanger arrangement. CROSSFLOW: Crossflow heat exchanger arrangement. PARALLELFLOW: Parallel flow heat exchanger arrangement. MULTIPASS: Multipass flow heat exchanger arrangement. OTHER: Other type of heat exchanger flow arrangement not defined above."@en ; + rdfs:label "arrangement"@en ; + rdfs:range xsd:string . + +s4bldg:Lamp a owl:Class ; + rdfs:comment "A lamp is an artificial light source such as a light bulb or tube."@en ; + rdfs:label "Lamp"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcLamp" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:lightEmitterNominalPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:colorTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:spectrumMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:colorAppearance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:lampCompensationType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:lampMaintenanceFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:contributedLuminousFlux + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:colorRenderingIndex + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:spectrumMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:lampBallastType + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_lamptypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifclamp.htm> . + +s4bldg:BuildingObject + a owl:Class ; + rdfs:comment "An object in the building that can be controlled by devices, such as a door or a window that can be automatically opened or closed by an actuator. (Definition taken from SAREF 1.0)"@en ; + rdfs:label "Building object"@en ; + rdfs:subClassOf s4bldg:PhysicalObject . + +s4bldg:powerOutputMax + a owl:ObjectProperty ; + rdfs:comment "The maximum output power rating of the engine. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum power output"@en . + +s4bldg:nominalParticleGeometricStandardDeviation + a owl:ObjectProperty ; + rdfs:comment "Particle geometric standard deviation associated with nominal efficiency. "@en ; + rdfs:label "nominal particle geometric standard deviation"@en . + +s4bldg:Boiler a owl:Class ; + rdfs:comment "A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications."@en ; + rdfs:label "Boiler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBoiler" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isWaterStorageHeater + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterInletTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:heatTransferSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:pressureRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outletTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterStorageCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalEnergyConsumption + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:operatingMode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterInletTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPartLoadRatio + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outletTemperatureMax + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcboiler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_boilertypecommon.htm> . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . + +s4bldg:staggeredRowSpacing + a owl:ObjectProperty ; + rdfs:comment "Staggered tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "staggered row spacing"@en . + +s4bldg:nominalParticleGeometricMeanDiameter + a owl:ObjectProperty ; + rdfs:comment "Particle geometric mean diameter associated with nominal efficiency. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal particle geometric mean diameter"@en . + +s4bldg:Fan a owl:Class ; + rdfs:comment "A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system."@en ; + rdfs:label "Fan"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFan" ; + rdfs:subClassOf s4bldg:FlowMovingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalTotalPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalStaticPressure + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalRotationSpeed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:capacityControlType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPowerRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalAirFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:motorDriveType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationalRiterial + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfan.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_fantypecommon.htm> . + +s4bldg:internalRefrigerantVolume + a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (refrigerant side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal refrigerant volume"@en . + +s4bldg:bodyMass a owl:ObjectProperty ; + rdfs:comment "Overall body mass of the heater. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "body mass"@en . + +xsd:duration a rdfs:Datatype . + +s4bldg:nominalTotalPressure + a owl:ObjectProperty ; + rdfs:comment "Nominal total pressure rise across the fan. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal total pressure"@en . + +s4bldg:pipeConnectionEnum + a owl:DatatypeProperty ; + rdfs:comment "The manner in which the pipe connection is made to the cooled beam."@en ; + rdfs:label "pipe connection enum"@en ; + rdfs:range xsd:string . + +s4bldg:startCurrentFactor + a owl:ObjectProperty ; + rdfs:comment "IEC. Start current factor defines how large the peek starting current will become on the engine. StartCurrentFactor is multiplied to NominalCurrent and we get the start current."@en ; + rdfs:label "start current factor"@en . + +s4bldg:basinReserveVolume + a owl:ObjectProperty ; + rdfs:comment "Volume between operating and overflow levels in cooling tower basin. Usually measured in cubic metre (m3)."@en ; + rdfs:label "basin reserve volume"@en . + +dcterms:rightsHolder a owl:AnnotationProperty . + +s4bldg:shortCircuitVoltage + a owl:ObjectProperty ; + rdfs:comment "A complex number that specifies the real and imaginary parts of the short-circuit voltage at rated current of a transformer given in %."@en ; + rdfs:label "short circuit voltage"@en . + +s4bldg:secondaryAirFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . + +s4bldg:nominalSorroundingHumidityCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding humidity (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding humidity cooling"@en . + +s4bldg:FlowInstrument + a owl:Class ; + rdfs:comment "A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points.\n\nInstrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)"@en ; + rdfs:label "Flow instrument"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowInstrument" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_flowinstrumenttypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcflowinstrument.htm> . + +s4bldg:thermalConductivity + a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "thermal conductivity"@en . + +s4bldg:waterRequirement + a owl:ObjectProperty ; + rdfs:comment "Make-up water requirement. Usually measured in m3/s."@en ; + rdfs:label "water requirement"@en . + +s4bldg:Chiller a owl:Class ; + rdfs:comment "A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building."@en ; + rdfs:label "Chiller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcChiller" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalEfficiency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalEvaporatingTemmperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCondensingTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatRejectionRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPowerConsumption + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_chillertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcchiller.htm> . + +s4bldg:Compressor a owl:Class ; + rdfs:comment "A compressor is a device that compresses a fluid typically used in a refrigeration circuit."@en ; + rdfs:label "Compressor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCompressor" ; + rdfs:subClassOf s4bldg:FlowMovingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:compressorSpeed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:refrigerantClass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:idealCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:impellerDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:idealShaftPower + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:powerSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:partLoadRatioMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasHotGasBypass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:partLoadRatioMin + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_compressortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccompressor.htm> . + +vann:preferredNamespaceUri + a owl:AnnotationProperty . + +s4bldg:nominalPowerRate + a owl:ObjectProperty ; + rdfs:comment "Nominal fan power rate.Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power rate"@en . + +s4bldg:heatTransferMedium + a owl:DatatypeProperty ; + rdfs:comment "Enumeration defining the heat transfer medium if applicable."@en ; + rdfs:label "heat transfer medium"@en ; + rdfs:range xsd:string . + +s4bldg:patternType a owl:DatatypeProperty ; + rdfs:comment "Defines the types of pattern (or shape of a tank that may be specified."@en ; + rdfs:label "pattern type"@en ; + rdfs:range xsd:string . + +s4bldg:hasDefrost a owl:DatatypeProperty ; + rdfs:comment "Whether the heat exchanger has defrost function or not."@en ; + rdfs:label "has defrost"@en ; + rdfs:range xsd:boolean . + +s4bldg:effectiveCapacity + a owl:ObjectProperty ; + rdfs:comment "The total effective or actual volumetric capacity of the tank. Usually measured in cubic metre (m3).B3"@en ; + rdfs:label "effective capacity"@en . + +s4bldg:secondaryApparentPower + a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and is running out of the transformer on the secondary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "secondary apparent power"@en . + +s4bldg:EnergyConversionDevice + a owl:Class ; + rdfs:comment "The distribution flow element EnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system."@en ; + rdfs:label "Energy conversion device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEnergyConversionDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcenergyconversiondevice.htm> . + +s4bldg:isNeutralPrimaryTerminalAvailable + a owl:DatatypeProperty ; + rdfs:comment "An indication of whether the neutral point of the primary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral primary terminal available"@en ; + rdfs:range xsd:boolean . + +s4bldg:CommunicationAppliance + a owl:Class ; + rdfs:comment "A communications appliance transmits and receives electronic or digital information as data or sound.\n\nCommunication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."@en ; + rdfs:label "Communication appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCommunicationAppliance" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_communicationsappliancetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifccommunicationsappliance.htm> . + +s4bldg:nominalHeatRejectionRate + a owl:ObjectProperty ; + rdfs:comment "Sum of the refrigeration effect and the heat equivalent of the power input to the compressor. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heat rejection rate"@en . + +s4bldg:isWaterStorageHeater + a owl:DatatypeProperty ; + rdfs:comment "This is used to identify if the boiler has storage capacity (TRUE). If FALSE, then there is no storage capacity built into the boiler, such as an instantaneous hot water heater."@en ; + rdfs:label "is water storage heater"@en ; + rdfs:range xsd:boolean . + +s4bldg:inletConnectionSize + a owl:ObjectProperty ; + rdfs:comment "Size of the inlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "inlet connection size"@en . + +s4bldg:weight a owl:ObjectProperty ; + rdfs:comment "The weight of the device. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "weight"@en . + +s4bldg:airFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Minimum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range min"@en . + +s4bldg:remoteReading a owl:DatatypeProperty ; + rdfs:comment "Indicates whether the meter has a connection for remote reading through connection of a communication device (set TRUE) or not (set FALSE)."@en ; + rdfs:label "remote reading"@en ; + rdfs:range xsd:boolean . + +s4bldg:circuitType a owl:DatatypeProperty ; + rdfs:comment "OpenCircuit: Exposes water directly to the cooling atmosphere. CloseCircuit: The fluid is separated from the atmosphere by a heat exchanger. Wet: The air stream or the heat exchange surface is evaporatively cooled. Dry: No evaporation into the air stream. DryWet: A combination of a dry tower and a wet tower."@en ; + rdfs:label "circuit type"@en ; + rdfs:range xsd:string . + +s4bldg:nominalSorroundingTemperatureHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature heating"@en . + +s4bldg:internalWaterVolume + a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (water side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal water volume"@en . + +s4bldg:failPosition a owl:DatatypeProperty ; + rdfs:comment "Specifies the required fail-safe position of the actuator."@en ; + rdfs:label "fail position"@en ; + rdfs:range xsd:string . + +s4bldg:nominalBodyLength + a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the x-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body length"@en . + +s4bldg:operation a owl:DatatypeProperty ; + rdfs:comment "The operational mechanism for the damper operation."@en ; + rdfs:label "operation"@en ; + rdfs:range xsd:string . + +dcterms:dateCopyrighted + a owl:AnnotationProperty . + +saref:hasTimestamp a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en ; + rdfs:range xsd:dateTime . + +s4bldg:lampMaintenanceFactor + a owl:ObjectProperty ; + rdfs:comment "Non recoverable losses of luminous flux of a lamp due to lamp depreciation i.e. the decreasing of light output of a luminaire due to aging and dirt."@en ; + rdfs:label "lamp maintenance factor"@en . + +s4bldg:valvePattern a owl:DatatypeProperty ; + rdfs:comment "The configuration of the ports of a valve according to either the linear route taken by a fluid flowing through the valve or by the number of ports where: SINGLEPORT: Valve that has a single entry port from the system that it serves, the exit port being to the surrounding environment. ANGLED_2_PORT: Valve in which the direction of flow is changed through 90 degrees. STRAIGHT_2_PORT: Valve in which the flow is straight through. STRAIGHT_3_PORT: Valve with three separate ports. CROSSOVER_4_PORT: Valve with 4 separate ports."@en ; + rdfs:label "valve pattern"@en ; + rdfs:range xsd:string . + +s4bldg:pumpFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . + +s4bldg:Sensor a owl:Class ; + rdfs:comment "A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument."@en ; + rdfs:label "Sensor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSensor" ; + rdfs:subClassOf saref:Sensor , s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_sensortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcsensor.htm> . + +s4bldg:application a owl:DatatypeProperty ; + rdfs:comment "Humidifier application. Fixed: Humidifier installed in a ducted flow distribution system. Portable: Humidifier is not installed in a ducted flow distribution system."@en ; + rdfs:label "application"@en ; + rdfs:range xsd:string . + +s4bldg:nominalReturnWaterTemperatureCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature cooling"@en . + +s4bldg: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <http://purl.org/net/mpoveda> , <http://www.garcia-castro.com/foaf.rdf#me> , <http://maxime-lefrancois.info/me#> ; + dcterms:description "This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341003/01.01.01_60/ts_10341003v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4bldg/> ; + dcterms:title "SAREF extension for building devices"@en ; + vann:preferredNamespacePrefix "s4bldg" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4bldg#" ; + owl:versionIRI <https://saref.etsi.org/saref4bldg/v1.1.1/saref4bldg#> ; + owl:versionInfo "1.1.1" . + +s4bldg:openPressureDrop + a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across damper. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "open pressure drop"@en . + +s4bldg:workingPressureMax + a owl:ObjectProperty ; + rdfs:comment "Maximum working pressure. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "maximum working pressure"@en . + +s4bldg:connectionSize + a owl:ObjectProperty ; + rdfs:comment "The connection size of the to and from the pump. Usually measured in millimeters (mm)."@en ; + rdfs:label "connection size"@en . + +s4bldg:idealCapacity a owl:ObjectProperty ; + rdfs:comment "Compressor capacity under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal capacity"@en . + +s4bldg:fluidFlowRateMax + a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.\nA device that has category saref:Sensor and performs a saref:SensingFunction."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en . + +s4bldg:foulingFactor a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "fouling factor"@en . + +s4bldg:transformerVectorGroup + a owl:DatatypeProperty ; + rdfs:comment "List of the possible vector groups for the transformer from which that required may be set. Values in the enumeration list follow a standard international code where the first letter describes how the primary windings are connected, the second letter describes how the secondary windings are connected, and the numbers describe the rotation of voltages and currents from the primary to the secondary side in multiples of 30 degrees. D: means that the windings are delta-connected. Y: means that the windings are star-connected. Z: means that the windings are zig-zag connected (a special start-connected providing low reactance of the transformer). The connectivity is only relevant for three-phase transformers."@en ; + rdfs:label "transformer vector group"@en ; + rdfs:range xsd:string . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +s4bldg:primaryAirFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Minimum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . + +s4bldg:supportedWeightMax + a owl:ObjectProperty ; + rdfs:comment "The maximum weight that can be carried by the vibration isolator. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "maximum supported weight"@en . + +s4bldg:EvaporativeCooler + a owl:Class ; + rdfs:comment "An evaporative cooler is a device that cools air by saturating it with water vapor."@en ; + rdfs:label "Evaporative cooler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporativeCooler" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:flowArrangement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:heatExchangeArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterRequirement + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporativecooler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporativecoolertypecommon.htm> . + +s4bldg:nominalPowerConsumption + a owl:ObjectProperty ; + rdfs:comment "Nominal total power consumption. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power consumption"@en . + +s4bldg:initialResistance + a owl:ObjectProperty ; + rdfs:comment "Initial new filter fluid resistance (i.e., pressure drop at the maximum air flowrate across the filter when the filter is new per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "initial resistance"@en . + +s4bldg:ambientDesignWetBulbTemperature + a owl:ObjectProperty ; + rdfs:comment "Ambient design wet bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design wet bulb temperature"@en . + +s4bldg:ShadingDevice a owl:Class ; + rdfs:comment "Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable."@en ; + rdfs:label "Shading device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcShadingDevice" ; + rdfs:subClassOf s4bldg:BuildingDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:shadingDeviceType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalTransmittance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:solarReflectance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:visibleLightTransmittance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:solarTransmittance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:mechanicalOperated + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:visibleLightReflectance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:roughness + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isExternal + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcshadingdevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/pset/pset_shadingdevicecommon.htm> . + +s4bldg:lampBallastType + a owl:DatatypeProperty ; + rdfs:comment "The type of ballast used to stabilise gas discharge by limiting the current during operation and to deliver the necessary striking voltage for starting. Ballasts are needed to operate Discharge Lamps such as Fluorescent, Compact Fluorescent, High-pressure Mercury, Metal Halide and High-pressure Sodium Lamps. Magnetic ballasts are chokes which limit the current passing through a lamp connected in series on the principle of self-induction. The resultant current and power are decisive for the efficient operation of the lamp. A specially designed ballast is required for every type of lamp to comply with lamp rating in terms of Luminous Flux, Color Appearance and service life. The two types of magnetic ballasts for fluorescent lamps are KVG Conventional (EC-A series) and VVG Low-loss ballasts (EC-B series). Low-loss ballasts have a higher efficiency, which means reduced ballast losses and a lower thermal load. Electronic ballasts are used to run fluorescent lamps at high frequencies (approx. 35 - 40 kHz)."@en ; + rdfs:label "lamp ballast type"@en ; + rdfs:range xsd:string . + +s4bldg:valveMechanism + a owl:DatatypeProperty ; + rdfs:comment "The mechanism by which the valve function is achieved where: BALL: Valve that has a ported ball that can be turned relative to the body seat ports. BUTTERFLY: Valve in which a streamlined disc pivots about a diametric axis. CONFIGUREDGATE: Screwdown valve in which the closing gate is shaped in a configured manner to have a more precise control of pressure and flow change across the valve. GLAND: Valve with a tapered seating, in which a rotatable plug is retained by means of a gland and gland packing. GLOBE: Screwdown valve that has a spherical body. LUBRICATEDPLUG: Plug valve in which a lubricant is injected under pressure between the plug face and the body. NEEDLE: Valve for regulating the flow in or from a pipe, in which a slender cone moves along the axis of flow to close against a fixed conical seat. PARALLELSLIDE: Screwdown valve that has a machined plate that slides in formed grooves to form a seal. PLUG: Valve that has a ported plug that can be turned relative to the body seat ports. WEDGEGATE: Screwdown valve that has a wedge shaped plate fitting into tapered guides to form a seal."@en ; + rdfs:label "valve mechanism"@en ; + rdfs:range xsd:string . + +s4bldg:SanitaryTerminal + a owl:Class ; + rdfs:comment "A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal."@en ; + rdfs:label "Sanitary terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSanitaryTerminal" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_sanitaryterminaltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcsanitaryterminal.htm> . + +s4bldg:horizontalSpacing + a owl:ObjectProperty ; + rdfs:comment "Horizontal spacing between tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "horizontal spacing"@en . + +s4bldg:ventilatingPipeSize + a owl:ObjectProperty ; + rdfs:comment "Size of the ventilating pipe(s). Usually measured in millimeters (mm)."@en ; + rdfs:label "ventilating pipe size"@en . + +s4bldg:primaryApparentPower + a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and that runs into the transformer on the primary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "primary apparent power"@en . + +s4bldg:nominalSupplyVoltageMin + a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . + +s4bldg:internalSurfaceArea + a owl:ObjectProperty ; + rdfs:comment "Internal surface area. Usually measured in square metre (m2)."@en ; + rdfs:label "internal surface area"@en . + +s4bldg:nominalHeatingCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal heating capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heating capacity"@en . + +s4bldg:vibrationTransmissibility + a owl:ObjectProperty ; + rdfs:comment "The vibration transmissibility percentage."@en ; + rdfs:label "vibration transmissibility"@en . + +s4bldg:hasPartWinding + a owl:DatatypeProperty ; + rdfs:comment "Indication of whether the motor is single speed, i.e. has a single winding (= FALSE) or multi-speed i.e.has part winding (= TRUE) ."@en ; + rdfs:label "has part winding"@en ; + rdfs:range xsd:boolean . + +s4bldg:workingPressure + a owl:ObjectProperty ; + rdfs:comment "The normally expected maximum working pressure of the valve. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "working pressure"@en . + +s4bldg:integratedLightingType + a owl:DatatypeProperty ; + rdfs:comment "Integrated lighting in cooled beam."@en ; + rdfs:label "integrated lighting type"@en ; + rdfs:range xsd:string . + +s4bldg:operationTemperatureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . + +s4bldg:nominalMediaSurfaceVelocity + a owl:ObjectProperty ; + rdfs:comment "Average fluid velocity at the media surface. Usually measured in m/s."@en ; + rdfs:label "nominal media surface velocity"@en . + +s4bldg:nominalMoistureGain + a owl:ObjectProperty ; + rdfs:comment "Nominal rate of water vapor added into the airstream. Usually measured in kg/s."@en ; + rdfs:label "nominal moisture gain"@en . + +s4bldg:nominalFilterFaceVelocity + a owl:ObjectProperty ; + rdfs:comment "Filter face velocity. Usually measured in m/s."@en ; + rdfs:label "nominal filter face velocity"@en . + +s4bldg:numberOfGangs a owl:DatatypeProperty ; + rdfs:comment "Number of gangs/buttons on this switch."@en ; + rdfs:label "number of gangs"@en ; + rdfs:range xsd:integer . + +s4bldg:capacityWeight + a owl:ObjectProperty ; + rdfs:comment "Capacity of the transport element measured by weight. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "capacity weight"@en . + +s4bldg:waterFlowControlSystemType + a owl:DatatypeProperty ; + rdfs:comment "Factory fitted waterflow control system."@en ; + rdfs:label "water flow control system type"@en ; + rdfs:range xsd:string . + +s4bldg:Humidifier a owl:Class ; + rdfs:comment "A humidifier is a device that adds moisture into the air."@en ; + rdfs:label "Humidifier"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHumidifier" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:internalControl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterRequirement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:application + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:weight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalAirFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalMoistureGain + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifchumidifier.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_humidifiertypecommon.htm> . + +s4bldg:hasSpace a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Relation between a building or a building space and the spaces it can be divided into."@en ; + rdfs:label "has space"@en ; + owl:inverseOf s4bldg:isSpaceOf . + +s4bldg:netPositiveSuctionHead + a owl:ObjectProperty ; + rdfs:comment "Minimum liquid pressure at the pump inlet to prevent cavitation. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "net positive suction head"@en . + +s4bldg:Tank a owl:Class ; + rdfs:comment "A tank is a vessel or container in which a fluid or gas is stored for later use."@en ; + rdfs:label "Tank"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTank" ; + rdfs:subClassOf s4bldg:FlowStorageDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalDepth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operatingWeight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:patternType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:endShapeType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfSections + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalVolumetricCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondCurvatureRadius + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:storageType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:effectiveCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:firstCurvatureRadius + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalLengthOrDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:accessType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalWidthOrDiameter + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctank.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tanktypecommon.htm> . + +s4bldg:hasLock a owl:DatatypeProperty ; + rdfs:comment "Indication of whether a switching device has a key operated lock (=TRUE) or not (= FALSE)."@en ; + rdfs:label "has lock"@en ; + rdfs:range xsd:boolean . + +s4bldg:length a owl:ObjectProperty ; + rdfs:comment "The finished length of the device. Usually measured in millimeters (mm)."@en ; + rdfs:label "length"@en . + +s4bldg:nominalLatentCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal latent capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal latent capacity"@en . + +s4bldg:SpaceHeater a owl:Class ; + rdfs:comment "Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters.\n\nUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; Coil should be used for coil-based floor heating."@en ; + rdfs:label "Space heater"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSpaceHeater" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:placementType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfSections + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:outputCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalMassHeatCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:bodyMass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:temperatureClassification + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfPanels + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:heatTransferDimension + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:thermalEfficiency + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:heatTransferMedium + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcspaceheater.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_spaceheatertypecommon.htm> . + +s4bldg:nominalPartLoadRatio + a owl:ObjectProperty ; + rdfs:comment "Allowable part load ratio range."@en ; + rdfs:label "nominal part load ratio"@en . + +s4bldg:nominalEfficiency + a owl:ObjectProperty ; + rdfs:comment "Nominal chiller efficiency under nominal conditions. "@en ; + rdfs:label "nominal efficiency"@en . + +s4bldg:temperatureClassification + a owl:DatatypeProperty ; + rdfs:comment "Enumeration defining the temperature classification of the space heater surface temperature. low temperature - surface temperature is relatively low, usually heated by hot water or electricity. high temperature - surface temperature is relatively high, usually heated by gas or steam."@en ; + rdfs:label "temperature classification"@en ; + rdfs:range xsd:string . + +s4bldg:CoolingTower a owl:Class ; + rdfs:comment "A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation."@en ; + rdfs:label "Cooling tower"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoolingTower" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:ambientDesignWetBulbTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:capacityControl + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:basinReserveVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:liftElevationDifference + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:waterRequirement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:sprayType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:flowArrangement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalCapacity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:ambientDesignDryBulbTemperature + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfCells + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:circuitType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:controlStrategy + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoolingtower.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coolingtowertypecommon.htm> . + +s4bldg:temperatureRating + a owl:ObjectProperty ; + rdfs:comment "Temperature rating. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "temperature rating"@en . + +s4bldg:outletConnectionSize + a owl:ObjectProperty ; + rdfs:comment "Size of the outlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "outlet connection size"@en . + +s4bldg:waterPressureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . + +s4bldg:ProtectiveDeviceTrippingUnit + a owl:Class ; + rdfs:comment "A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded."@en ; + rdfs:label "Protective device tripping unit"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDeviceTrippingUnit" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:standard + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:limitingTerminalSize + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetrippingunittypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevicetrippingunit.htm> . + +s4bldg:Damper a owl:Class ; + rdfs:comment "A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air."@en ; + rdfs:label "Damper"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDamper" ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:bladeShape + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:temperatureRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:airFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:leakageFullyClosed + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:frameType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:orientation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:closeOffRating + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOfBlades + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:faceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:frameThickness + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:operation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:workingPressureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:bladeEdge + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalAirFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:bladeThickness + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:openPressureDrop + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:frameDepth + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:bladeAction + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_dampertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcdamper.htm> . + +s4bldg:ProtectiveDevice + a owl:Class ; + rdfs:comment "A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded.\n\nA protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection."@en ; + rdfs:label "Protective device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDevice" ; + rdfs:subClassOf s4bldg:FlowController ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevice.htm> . + +s4bldg:nominalBodyDepth + a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted =length, measured along the z-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body depth"@en . + +s4bldg:ElectricTimeControl + a owl:Class ; + rdfs:comment "An electric time control is a device that applies control to the provision or flow of electrical energy over time."@en ; + rdfs:label "Electric time control"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricTimeControl" ; + rdfs:subClassOf s4bldg:FlowController ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electrictimecontroltypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectrictimecontrol.htm> . + +s4bldg:outletTemperatureMax + a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . + +s4bldg:apparentPowerMax + a owl:ObjectProperty ; + rdfs:comment "Maximum apparent power/capacity in VA (volt ampere). Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum apparent power"@en . + +s4bldg:leakageFullyClosed + a owl:ObjectProperty ; + rdfs:comment "Leakage when fully closed. Usually measured in m3/s."@en ; + rdfs:label "leakage fully closed"@en . + +s4bldg:contributedLuminousFlux + a owl:ObjectProperty ; + rdfs:comment "Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. Usually measured in Lumen (lm, Candela Steradian)."@en ; + rdfs:label "contributed luminous flux"@en . + +s4bldg:nominalHeatTransferCoefficient + a owl:ObjectProperty ; + rdfs:comment "Nominal overall heat transfer coefficient associated with nominal heat transfer area. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "nominal heat transfer coefficient"@en . + +s4bldg:flowCoefficient + a owl:ObjectProperty ; + rdfs:comment "Flow coefficient (the quantity of fluid that passes through a fully open valve at unit pressure drop), typically expressed as the Kv or Cv value for the valve."@en ; + rdfs:label "flow coefficient"@en . + +dcterms:creator a owl:AnnotationProperty . + +s4bldg:ElectricAppliance + a owl:Class ; + rdfs:comment "An electric appliance is a device intended for consumer usage that is powered by electricity.\n\nElectric appliances may be fixed in place or may be able to be moved from one space to another. Electric appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."@en ; + rdfs:label "Electric appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricAppliance" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricappliancetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricappliance.htm> . + +s4bldg:AirToAirHeatRecovery + a owl:Class ; + rdfs:comment "An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements."@en ; + rdfs:label "Air to air heat recovery"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAirToAirHeatRecovery" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:heatTransferTypeEnum + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryAirFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:primaryAirFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryAirFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:hasDefrost + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:secondaryAirFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcairtoairheatrecovery.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_airtoairheatrecoverytypecommon.htm> . + +s4bldg:Burner a owl:Class ; + rdfs:comment "A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners."@en ; + rdfs:label "Burner"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBurner" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_burnertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcburner.htm> . + +s4bldg:primaryCurrent + a owl:ObjectProperty ; + rdfs:comment "The current that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Ampere (A)."@en ; + rdfs:label "primary current"@en . + +s4bldg:VibrationIsolator + a owl:Class ; + rdfs:comment "A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building."@en ; + rdfs:label "Vibration isolator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcVibrationIsolator" ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:vibrationTransmissibility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:isolatorStaticDeflection + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:isolatorCompressibility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:height + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:supportedWeightMax + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvibrationisolator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_vibrationisolatortypecommon.htm> . + +s4bldg:SolarDevice a owl:Class ; + rdfs:comment "A solar device converts solar radiation into other energy such as electric current or thermal energy."@en ; + rdfs:label "Solar device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSolarDevice" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_solardevicetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcsolardevicetypeenum.htm> . + +prov:hadPrimarySource + a owl:AnnotationProperty . + +s4bldg:nominalWidthOrDiameter + a owl:ObjectProperty ; + rdfs:comment "The nominal width or, in the case of a horizontal cylindrical tank, the nominal diameter of the tank. Note: Not required for a vertical cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal width or diameter"@en . + +s4bldg:nominalRotationSpeed + a owl:ObjectProperty ; + rdfs:comment "Nominal fan wheel speed. Usually measured in cycles/s."@en ; + rdfs:label "nominal rotation speed"@en . + +s4bldg:coverLength a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system or the radius (in the case of a circular shape in plan) of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover length"@en . + +s4bldg:realImpedanceRatio + a owl:ObjectProperty ; + rdfs:comment "The ratio between the real part of the zero sequence impedance and the real part of the positive impedance (i.e. real part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "real impedance ratio"@en . + +s4bldg:closeOffRating + a owl:ObjectProperty ; + rdfs:comment "Close off rating. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "close off rating"@en . + +s4bldg:isFreeHanging a owl:DatatypeProperty ; + rdfs:comment "Is it free hanging type (not mounted in a false ceiling)?"@en ; + rdfs:label "is free hanging"@en ; + rdfs:range xsd:boolean . + +s4bldg:nominalSensibleCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal sensible capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal sensible capacity"@en . + +s4bldg:nominalUa a owl:ObjectProperty ; + rdfs:comment "Nominal UA value."@en ; + rdfs:label "nominal ua"@en . + +s4bldg:Filter a owl:Class ; + rdfs:comment "A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases."@en ; + rdfs:label "Filter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFilter" ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:weight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:finalResistance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:fluidFlowRateMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:fluidFlowRateMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:operationTemperatureMin + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalParticleGeometricStandardDeviation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalFilterFaceVelocity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalMediaSurfaceVelocity + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalParticleGeometricMeanDiameter + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalFlowRate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:initialResistance + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalPressureDrop + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_filtertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfilter.htm> . + +s4bldg:readOutType a owl:DatatypeProperty ; + rdfs:comment "Indication of the form that readout from the meter takes. In the case of a dial read out, this may comprise multiple dials that give a cumulative reading and/or a mechanical odometer."@en ; + rdfs:label "read out type"@en ; + rdfs:range xsd:string . + +s4bldg:hydraulicDiameter + a owl:ObjectProperty ; + rdfs:comment "Hydraulic diameter. Usually measured in millimeters (mm)."@en ; + rdfs:label "hydraulic diameter"@en . + +s4bldg:nominalFlowRate + a owl:ObjectProperty ; + rdfs:comment "Nominal fluid flow rate through the filter. Usually measured in m3/s."@en ; + rdfs:label "nominal flow rate"@en . + +s4bldg:liftElevationDifference + a owl:ObjectProperty ; + rdfs:comment "Elevation difference between cooling tower sump and the top of the tower. Usually measured in millimeters (mm)."@en ; + rdfs:label "lift elevation difference"@en . + +s4bldg:operationalRiterial + a owl:ObjectProperty ; + rdfs:comment "Time of operation at maximum operational ambient air temperature. Measured in seconds (s) or days (d) or other units of time."@en ; + rdfs:label "operational riterial"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + +s4bldg:isolatorCompressibility + a owl:ObjectProperty ; + rdfs:comment "The compressibility of the vibration isolator."@en ; + rdfs:label "isolator compressibility"@en . + +s4bldg:Controller a owl:Class ; + rdfs:comment "A controller is a device that monitors inputs and controls outputs within a building automation system.\n\nA controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller)."@en ; + rdfs:label "Controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcController" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_controllertypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifccontroller.htm> . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en ; + rdfs:subClassOf s4bldg:PhysicalObject . + +s4bldg:motorDriveType + a owl:DatatypeProperty ; + rdfs:comment "Motor drive type: DIRECTDRIVE: Direct drive. BELTDRIVE: Belt drive. COUPLING: Coupling. OTHER: Other type of motor drive. UNKNOWN: Unknown motor drive type. "@en ; + rdfs:label "motor drive type"@en ; + rdfs:range xsd:string . + +s4bldg:isGuarded a owl:DatatypeProperty ; + rdfs:comment "Indication of whether the motor enclosure is guarded (= TRUE) or not (= FALSE)."@en ; + rdfs:label "is guarded"@en ; + rdfs:range xsd:boolean . + +s4bldg:flowArrangement + a owl:DatatypeProperty ; + rdfs:comment "CounterFlow: Air and water flow enter in different directions. CrossFlow: Air and water flow are perpendicular. ParallelFlow: air and water flow enter in same directions."@en ; + rdfs:label "flow arrangement"@en ; + rdfs:range xsd:string . + +s4bldg:DistributionControlDevice + a owl:Class ; + rdfs:comment "Represents devices of a building automation control system that are used to impart control over elements of a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributioncontrolelement.htm)"@en ; + rdfs:label "Distribution control device"@en ; + rdfs:subClassOf s4bldg:DistributionDevice . + +s4bldg:Alarm a owl:Class ; + rdfs:comment "An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device.\n\nAlarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms."@en ; + rdfs:label "Alarm"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAlarm" ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_alarmtypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcalarm.htm> . + +s4bldg:nominalEnergyConsumption + a owl:ObjectProperty ; + rdfs:comment "Nominal fuel consumption rate required to produce the total boiler heat output. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal energy consumption"@en . + +s4bldg:inLineRowSpacing + a owl:ObjectProperty ; + rdfs:comment "In-line tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "in line row spacing"@en . + +s4bldg:Engine a owl:Class ; + rdfs:comment "An engine is a device that converts fuel into mechanical energy through combustion."@en ; + rdfs:label "Engine"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEngine" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:energySource + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_enginetypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcengine.htm> . + +s4bldg:nominalStaticPressure + a owl:ObjectProperty ; + rdfs:comment "The static pressure within the air stream that the fan must overcome to insure designed circulation of air. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal static pressure"@en . + +s4bldg:pressureRating + a owl:ObjectProperty ; + rdfs:comment "Nominal pressure rating of the boiler as rated by the agency having jurisdiction. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "pressure rating"@en . + +s4bldg:heatTransferTypeEnum + a owl:DatatypeProperty ; + rdfs:comment "Type of heat transfer between the two air streams."@en ; + rdfs:label "heat transfer type enum"@en ; + rdfs:range xsd:string . + +s4bldg:nominalSupplyVoltage + a owl:ObjectProperty ; + rdfs:comment "The nominal voltage of the supply. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "nominal supply voltage"@en . + +s4bldg:pumpFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . + +s4bldg:orientation a owl:DatatypeProperty ; + rdfs:comment "The intended orientation for the damper as specified by the manufacturer."@en ; + rdfs:label "orientation"@en ; + rdfs:range xsd:string . + +s4bldg:lampCompensationType + a owl:DatatypeProperty ; + rdfs:comment "Identifies the form of compensation used for power factor correction and radio suppression."@en ; + rdfs:label "lamp compensation type"@en ; + rdfs:range xsd:string . + +s4bldg:FlowTerminal a owl:Class ; + rdfs:comment "The distribution flow element FlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment."@en ; + rdfs:label "Flow terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTerminal" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowterminal.htm> . + +vann:preferredNamespacePrefix + a owl:AnnotationProperty . + +s4bldg:visibleLightTransmittance + a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that passes the shading system at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light transmittance"@en . + +s4bldg:operatingMode a owl:DatatypeProperty ; + rdfs:comment "Identifies the operating mode of the boiler."@en ; + rdfs:label "operating mode"@en ; + rdfs:range xsd:string . + +s4bldg:thermalMassHeatCapacity + a owl:ObjectProperty ; + rdfs:comment "Product of component mass and specific heat."@en ; + rdfs:label "thermal mass heat capacity"@en . + +s4bldg:workingPressureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable minimum working pressure (relative to ambient pressure). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "minimum working pressure"@en . + +s4bldg:fluidFlowRateMin + a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . + +s4bldg:electricGeneratorEfficiency + a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric generator efficiency"@en . + +s4bldg:Actuator a owl:Class ; + rdfs:comment "An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion."@en ; + rdfs:label "Actuator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcActuator" ; + rdfs:subClassOf saref:Actuator , s4bldg:DistributionControlDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:manualOverride + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:failPosition + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_actuatortypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcactuator.htm> . + +s4bldg:waterStorageCapacity + a owl:ObjectProperty ; + rdfs:comment "Water storage capacity. Usually measured in cubic metre (m3)."@en ; + rdfs:label "water storage capacity"@en . + +s4bldg:solarTransmittance + a owl:ObjectProperty ; + rdfs:comment "(Tsol) The ratio of incident solar radiation that directly passes through a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar transmittance"@en . + +s4bldg:nominalFrequency + a owl:ObjectProperty ; + rdfs:comment "The nominal frequency of the supply. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "nominal frequency"@en . + +s4bldg:energySource a owl:DatatypeProperty ; + rdfs:comment "The source of energy."@en , "Enumeration defining the energy source or fuel cumbusted to generate heat."@en ; + rdfs:label "energy source"@en ; + rdfs:range xsd:string . + +s4bldg:secondCurvatureRadius + a owl:ObjectProperty ; + rdfs:comment "SecondCurvatureRadius should be defined as the top or right side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "second curvature radius"@en . + +s4bldg:nominalReturnWaterTemperatureHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature heating"@en . + +s4bldg:electricMotorEfficiency + a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric motor efficiency"@en . + +s4bldg:coilWidth a owl:ObjectProperty ; + rdfs:comment "Width of coil. Usually measured in millimeters (mm"@en ; + rdfs:label "coil width"@en . + +s4bldg:secondaryVoltage + a owl:ObjectProperty ; + rdfs:comment "The voltage that has been transformed and is running out of the transformer on the secondary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "secondary voltage"@en . + +s4bldg:faceArea a owl:ObjectProperty ; + rdfs:comment "Face area open to the airstream. Usually measured in square metre (m2)."@en ; + rdfs:label "face area"@en . + +s4bldg:testPressure a owl:ObjectProperty ; + rdfs:comment "The maximum pressure to which the valve has been subjected under test. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "test pressure"@en . + +s4bldg:flowResistanceMax + a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . + +s4bldg:numberOfRows a owl:DatatypeProperty ; + rdfs:comment "Number of tube rows in the tube bundle assembly."@en ; + rdfs:label "number of rows"@en ; + rdfs:range xsd:integer . + +s4bldg:nominalPressureDrop + a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across the filter. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal pressure drop"@en . + +s4bldg:nominalHeatTransferArea + a owl:ObjectProperty ; + rdfs:comment "Nominal heat transfer surface area associated with nominal overall heat transfer coefficient. Usually measured in square metre (m2)."@en ; + rdfs:label "nominal heat transfer area"@en . + +s4bldg:mediaSource a owl:DatatypeProperty ; + rdfs:comment "Indicates media sources and corresponding names of ports (DistributionPort with FlowDirection=SINK and PredefinedType=AUDIOVISUAL) or aggregated audio/video components (AudioVisualAppliance)."@en ; + rdfs:label "media source"@en ; + rdfs:range xsd:string . + +s4bldg:operatingWeight + a owl:ObjectProperty ; + rdfs:comment "Operating weight of the tank including all of its contents. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "operating weight"@en . + +s4bldg:nominalWaterFlowHeating + a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal heating capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow heating"@en . + +s4bldg:Evaporator a owl:Class ; + rdfs:comment "An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid."@en ; + rdfs:label "Evaporator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporator" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:evaporationCoolant + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:externalSurfaceArea + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalWaterVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:refrigerantClass + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:internalRefrigerantVolume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4bldg:evaporationMediumType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporatortypecommon.htm> . + +s4bldg:operationTemperatureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . + +s4bldg:endShapeType a owl:DatatypeProperty ; + rdfs:comment "Defines the types of end shapes that can be used for preformed tanks. The convention for reading these enumerated values is that for a vertical cylinder, the first value is the base and the second is the top for a horizontal cylinder, the order of reading should be left to right. For a speherical tank, the value UNSET should be used.B5"@en ; + rdfs:label "end shape type"@en ; + rdfs:range xsd:string . + +s4bldg:nomminalRotationSpeed + a owl:ObjectProperty ; + rdfs:comment "Pump rotational speed under nominal conditions. Usually measured in cycles/s."@en ; + rdfs:label "nomminal rotation speed"@en . + +s4bldg:BuildingSpace a owl:Class ; + rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf [ a rdf:List ; + rdf:first s4bldg:Building ; + rdf:rest [ a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest () + ] + ] + ] ; + owl:onProperty s4bldg:isSpaceOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:BuildingSpace ; + owl:onProperty s4bldg:hasSpace + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4bldg:PhysicalObject ; + owl:onProperty s4bldg:contains + ] . + +s4bldg:size a owl:ObjectProperty ; + rdfs:comment "The size of the connection to the valve (or to each connection for faucets, mixing valves, etc.). Usually measured in millimeters (mm)."@en ; + rdfs:label "size"@en . + +s4bldg:impellerDiameter + a owl:ObjectProperty ; + rdfs:comment "Diameter of compressor impeller - used to scale performance of geometrically similar compressors. Usually measured in millimeters (mm)."@en ; + rdfs:label "impeller diameter"@en . + +s4bldg:spectrumMax a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "maximum spectrum"@en . + +s4bldg:BuildingDevice + a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in a building."@en ; + rdfs:label "Building device"@en ; + rdfs:subClassOf saref:Device , s4bldg:BuildingObject . + +s4bldg:verticalSpacing + a owl:ObjectProperty ; + rdfs:comment "Vertical spacing between tubes in the tube bundle.Usually measured in millimeters (mm)."@en ; + rdfs:label "vertical spacing"@en . + +s4bldg:switchFunction + a owl:DatatypeProperty ; + rdfs:comment "Indicates types of switches which differs in functionality."@en ; + rdfs:label "switch function"@en ; + rdfs:range xsd:string . + +s4bldg:FlowStorageDevice + a owl:Class ; + rdfs:comment "The distribution flow element FlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank)."@en ; + rdfs:label "Flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowStorageDevice" ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowstoragedevice.htm> . + +s4bldg:colorAppearance + a owl:DatatypeProperty ; + rdfs:comment "In both the DIN and CIE standards, artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance."@en ; + rdfs:label "color appearance"@en ; + rdfs:range xsd:string . + +s4bldg:ElectricGenerator + a owl:Class ; + rdfs:comment "An electric generator is an engine that is a machine for converting mechanical energy into electrical energy."@en ; + rdfs:label "Electric generator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricGenerator" ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:powerOutputMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:startCurrentFactor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4bldg:electricGeneratorEfficiency + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricgenerator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricgeneratortypecommon.htm> . + +s4bldg:capacityControlType + a owl:DatatypeProperty ; + rdfs:comment "InletVane: Control by adjusting inlet vane. VariableSpeedDrive: Control by variable speed drive. BladePitchAngle: Control by adjusting blade pitch angle. TwoSpeed: Control by switch between high and low speed. DischargeDamper: Control by modulating discharge damper."@en ; + rdfs:label "capacity control type"@en ; + rdfs:range xsd:string . + +s4bldg:storageType a owl:DatatypeProperty ; + rdfs:comment "Defines the general material category intended to be stored."@en ; + rdfs:label "storage type"@en ; + rdfs:range xsd:string . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "is measured in"@en . + +s4bldg:nominalEvaporatingTemmperature + a owl:ObjectProperty ; + rdfs:comment "Chiller evaporating temperature.Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal evaporating temmperature"@en . + +s4bldg:partLoadRatioMax + a owl:ObjectProperty ; + rdfs:comment "Maximum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "maximum part load ratio"@en . + +s4bldg:nominalCapacity + a owl:ObjectProperty ; + rdfs:comment "Nominal capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal capacity"@en . + +s4bldg:Outlet a owl:Class ; + rdfs:comment "An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications.\n\nPower outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture."@en ; + rdfs:label "Outlet"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcOutlet" ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:integer ; + owl:onProperty s4bldg:numberOsSockets + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4bldg:isPluggableOutlet + ] ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_outlettypecommon.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcoutlet.htm> . + +s4bldg:mechanicalOperated + a owl:DatatypeProperty ; + rdfs:comment "Indication whether the element is operated machanically (TRUE) or not, i.e. manually (FALSE)."@en ; + rdfs:label "mechanical operated"@en ; + rdfs:range xsd:boolean . + +s4bldg:isolatorStaticDeflection + a owl:ObjectProperty ; + rdfs:comment "Static deflection of the vibration isolator. Usually measured in millimeters (mm)."@en ; + rdfs:label "isolator static deflection"@en . + +s4bldg:waterPressureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . + +s4bldg:motorEnclosureType + a owl:DatatypeProperty ; + rdfs:comment "A list of the available types of motor enclosure from which that required may be selected."@en ; + rdfs:label "motor enclosure type"@en ; + rdfs:range xsd:string . + +s4bldg:refrigerantClass + a owl:DatatypeProperty ; + rdfs:comment "Refrigerant class used by the compressor. CFC: Chlorofluorocarbons. HCFC: Hydrochlorofluorocarbons. HFC: Hydrofluorocarbons."@en ; + rdfs:label "refrigerant class"@en ; + rdfs:range xsd:string . + +s4bldg:outletTemperatureMin + a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . + +s4bldg:frameThickness + a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper frame material. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame thickness"@en . + +s4bldg:manualOverride + a owl:DatatypeProperty ; + rdfs:comment "Identifies whether hand-operated operation is provided as an override (= TRUE) or not (= FALSE). Note that this value should be set to FALSE by default in the case of a Hand Operated Actuator."@en ; + rdfs:label "manual override"@en ; + rdfs:range xsd:boolean . + +s4bldg:nominalSupplyWaterTemperatureCooling + a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature cooling"@en . + +s4bldg:solarReflectance + a owl:ObjectProperty ; + rdfs:comment "(Rsol): The ratio of incident solar radiation that is reflected by a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar reflectance"@en . + +s4bldg:primaryFrequency + a owl:ObjectProperty ; + rdfs:comment "The frequency that is going to be transformed and that runs into the transformer on the primary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "primary frequency"@en . + +saref:Property a owl:Class ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Property"@en ; + owl:disjointWith saref:UnitOfMeasure . diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.rdf b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.rdf new file mode 100644 index 0000000000000000000000000000000000000000..78efafb04fa6421b9e77531eeff9992c6d605b8b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.rdf @@ -0,0 +1,4570 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:prov="http://www.w3.org/ns/prov#" + xmlns:s4bldg="https://saref.etsi.org/saref4bldg#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4bldg#"> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4bldg#</vann:preferredNamespaceUri> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation.</dcterms:description> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4bldg/v1.1.1/saref4bldg#"/> + <vann:preferredNamespacePrefix>s4bldg</vann:preferredNamespacePrefix> + <dcterms:title xml:lang="en">SAREF extension for building devices</dcterms:title> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341003/01.01.01_60/ts_10341003v010101p.pdf"/> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4bldg/"/> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + </owl:Ontology> + <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#duration"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMeter"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_flowmetertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcflowmeter.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowMeter</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow meter</rdfs:label> + <rdfs:comment xml:lang="en">A flow meter is a device that is used to measure the flow rate in a system.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#remoteReading"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#readOutType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#CooledBeam"> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCooledBeam</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilWidth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Cooled beam</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatingCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#integratedLightingType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCoolingCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccooledbeam.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_cooledbeamtypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#waterFlowControlSystemType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingHumidityCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureCooling"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#finishColor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#pipeConnectionEnum"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureHeating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isFreeHanging"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilLength"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Fan"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalTotalPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalStaticPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfan.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalRotationSpeed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControlType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Fan</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_fantypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system.</rdfs:comment> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFan</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorDriveType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationalRiterial"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#CoolingTower"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignWetBulbTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControl"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#basinReserveVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#liftElevationDifference"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCoolingTower</rdfs:seeAlso> + <rdfs:comment xml:lang="en">A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#sprayType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#flowArrangement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoolingtower.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignDryBulbTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCells"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Cooling tower</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coolingtowertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#circuitType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#controlStrategy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#TubeBundle"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inLineRowSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTubeBundle</rdfs:seeAlso> + <rdfs:comment xml:lang="en">A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCircuits"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalConductivity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#volumen"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tubebundletypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#horizontalSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Tube bundle</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasTurbulator"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#foulingFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#insideDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#length"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfRows"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#verticalSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outsideDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctubebundle.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#staggeredRowSpacing"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Lamp"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lightEmitterNominalPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#colorTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorAppearance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_lamptypecommon.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcLamp</rdfs:seeAlso> + <rdfs:label xml:lang="en">Lamp</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampCompensationType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifclamp.htm"/> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lampMaintenanceFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A lamp is an artificial light source such as a light bulb or tube.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#contributedLuminousFlux"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorRenderingIndex"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampBallastType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SwitchingDevice"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#switchFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#legend"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Switching device</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_switchingdevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcswitchingdevice.htm"/> + <rdfs:comment xml:lang="en">A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. + +Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isIlluminated"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfGangs"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasLock"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"/> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSwitchingDevice</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#PhysicalObject"> + <rdfs:label xml:lang="en">Physical object</rdfs:label> + <rdfs:comment xml:lang="en">Any Object that has a proper space region. (Definition extracted from DUL ontology)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf> + <rdf:List> + <rdf:rest> + <rdf:List> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + </rdf:List> + </rdf:rest> + <rdf:first> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + </rdf:first> + </rdf:List> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isContainedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricMotor"> + <rdfs:label xml:lang="en">Electric motor</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#teTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lockedRotorCurrent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasPartWinding"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricmotortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorEnclosureType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricMotor</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startCurrentFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricMotorEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#powerOutputMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isGuarded"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">An electric motor is an engine that is a machine for converting electrical energy into mechanical energy.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricmotor.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startingTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Building"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcbuilding.htm"/> + <rdfs:seeAlso rdf:resource="https://w3id.org/ifc/IFC4_ADD1#IfcBuilding"/> + <rdfs:label xml:lang="en">Building</rdfs:label> + <rdfs:comment xml:lang="en">A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#hasSpace"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingDevice"> + <rdfs:label xml:lang="en">Building device</rdfs:label> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task in a building.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingObject"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionDevice"> + <rdfs:label xml:lang="en">Distribution device</rdfs:label> + <rdfs:comment xml:lang="en">Generalization of all devices that participate in a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcdistributionelement.htm)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#BuildingDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#AudioVisualAppliance"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_audiovisualappliancetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcaudiovisualappliance.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcAudioVisualApplicance</rdfs:seeAlso> + <rdfs:label xml:lang="en">Audio visual appliance</rdfs:label> + <rdfs:comment xml:lang="en">An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. + +Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mediaSource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#audioVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ProtectiveDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Protective device</rdfs:label> + <rdfs:comment xml:lang="en">A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. + +A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ProtectiveDeviceTrippingUnit"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetrippingunittypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevicetrippingunit.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDeviceTrippingUnit</rdfs:seeAlso> + <rdfs:label xml:lang="en">Protective device tripping unit</rdfs:label> + <rdfs:comment xml:lang="en">A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#standard"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#limitingTerminalSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowStorageDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowstoragedevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowStorageDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow storage device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank).</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#TransportElement"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifctransportelement.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTransportElement</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#fireExit"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/pset/pset_transportelementcommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityWeight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A transport element is a generalization of all transport related objects that move people, animals or goods within a building or building complex. The TransportElement defines the occurrence of a transport element. </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Transport element</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityPeople"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Compressor"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#compressorSpeed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A compressor is a device that compresses a fluid typically used in a refrigeration circuit.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_compressortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccompressor.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#impellerDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCompressor</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealShaftPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#powerSource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Compressor</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasHotGasBypass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Interceptor"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"/> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_interceptortypecommon.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcInterceptor</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletConnectionSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcinterceptor.htm"/> + <rdfs:comment xml:lang="en">An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inletConnectionSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyDepth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ventilatingPipeSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyLength"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverLength"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyWidth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Interceptor</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverWidth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowController"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowcontroller.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowController</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow controller</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Evaporator"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationCoolant"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#externalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporator.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalWaterVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Evaporator</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporatortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalRefrigerantVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEvaporator</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationMediumType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Sensor"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_sensortypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcsensor.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSensor</rdfs:seeAlso> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:comment xml:lang="en">A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Filter"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#finalResistance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricStandardDeviation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFilterFaceVelocity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMediaSurfaceVelocity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricMeanDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#initialResistance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPressureDrop"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"/> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_filtertypecommon.htm"/> + <rdfs:label xml:lang="en">Filter</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfilter.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFilter</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Controller"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_controllertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifccontroller.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcController</rdfs:seeAlso> + <rdfs:label xml:lang="en">Controller</rdfs:label> + <rdfs:comment xml:lang="en">A controller is a device that monitors inputs and controls outputs within a building automation system. + +A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller).</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#UnitaryControlElement"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_unitarycontrolelementtypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcunitarycontrolelement.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcUnitaryControlElement</rdfs:seeAlso> + <rdfs:label xml:lang="en">Unitary control element</rdfs:label> + <rdfs:comment xml:lang="en">A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. + +A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricFlowStorageDevice"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricFlowStorageDevice</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFrequency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Electric flow storage device</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricflowstoragedevicetypecommon.htm"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowStorageDevice"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricflowstoragedevice.htm"/> + <rdfs:comment xml:lang="en">An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Property"> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Burner"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_burnertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcburner.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcBurner</rdfs:seeAlso> + <rdfs:label xml:lang="en">Burner</rdfs:label> + <rdfs:comment xml:lang="en">A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Tank"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDepth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Tank</rdfs:label> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTank</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingWeight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#patternType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#endShapeType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctank.htm"/> + <rdfs:comment xml:lang="en">A tank is a vessel or container in which a fluid or gas is stored for later use.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfSections"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalVolumetricCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondCurvatureRadius"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#storageType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#effectiveCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#firstCurvatureRadius"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLengthOrDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#accessType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tanktypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWidthOrDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowStorageDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#MedicalDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_medicaldevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcmedicaldevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcMedicalDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Medical device</rdfs:label> + <rdfs:comment xml:lang="en">A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricGenerator"> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricGenerator</rdfs:seeAlso> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricgenerator.htm"/> + <rdfs:label xml:lang="en">Electric generator</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#powerOutputMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricgeneratortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startCurrentFactor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricGeneratorEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">An electric generator is an engine that is a machine for converting mechanical energy into electrical energy.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Pump"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#netPositiveSuctionHead"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#connectionSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nomminalRotationSpeed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcpump.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_pumptypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Pump</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcPump</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Outlet"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_outlettypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcoutlet.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcOutlet</rdfs:seeAlso> + <rdfs:label xml:lang="en">Outlet</rdfs:label> + <rdfs:comment xml:lang="en">An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. + +Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOsSockets"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isPluggableOutlet"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Coil"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coiltypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoil.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalUa"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSensibleCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#placementType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCoil</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLatentCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. + +Coils may also be used for non-airflow cases such as embedded in a floor slab.</rdfs:comment> + <rdfs:label xml:lang="en">Coil</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcenergyconversiondevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEnergyConversionDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Energy conversion device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element EnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device responsible for moving or controlling a mechanism or system</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowInstrument"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_flowinstrumenttypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcflowinstrument.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowInstrument</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow instrument</rdfs:label> + <rdfs:comment xml:lang="en">A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. + +Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionControlDevice"> + <rdfs:label xml:lang="en">Distribution control device</rdfs:label> + <rdfs:comment xml:lang="en">Represents devices of a building automation control system that are used to impart control over elements of a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributioncontrolelement.htm)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#CommunicationAppliance"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_communicationsappliancetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifccommunicationsappliance.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCommunicationAppliance</rdfs:seeAlso> + <rdfs:label xml:lang="en">Communication appliance</rdfs:label> + <rdfs:comment xml:lang="en">A communications appliance transmits and receives electronic or digital information as data or sound. + +Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://w3id.org/saref#Property"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Property"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Property"/> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Alarm"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_alarmtypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcalarm.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcAlarm</rdfs:seeAlso> + <rdfs:label xml:lang="en">Alarm</rdfs:label> + <rdfs:comment xml:lang="en">An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. + +Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DuctSilencer"> + <rdfs:label xml:lang="en">Duct silencer</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_ductsilencertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasExteriorInsulation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcductsilencer.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcDuctSilencer</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#length"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#hydraulicDiameter"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Engine"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_enginetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcengine.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEngine</rdfs:seeAlso> + <rdfs:label xml:lang="en">Engine</rdfs:label> + <rdfs:comment xml:lang="en">An engine is a device that converts fuel into mechanical energy through combustion.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTerminal"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowterminal.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowTerminal</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow terminal</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Humidifier"> + <rdfs:label xml:lang="en">Humidifier</rdfs:label> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcHumidifier</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#internalControl"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifchumidifier.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#application"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_humidifiertypecommon.htm"/> + <rdfs:comment xml:lang="en">A humidifier is a device that adds moisture into the air.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMoistureGain"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingSpace"> + <rdfs:label xml:lang="en">Building space</rdfs:label> + <rdfs:comment xml:lang="en">An entity used to define the physical spaces of the building. A building space contains devices or building objects.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf> + <rdf:List> + <rdf:rest> + <rdf:List> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first rdf:resource="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + </rdf:List> + </rdf:rest> + <rdf:first rdf:resource="https://saref.etsi.org/saref4bldg#Building"/> + </rdf:List> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isSpaceOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4bldg#BuildingSpace"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#hasSpace"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Transformer"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#apparentPowerMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Transformer</rdfs:label> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcTransformer</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralPrimaryTerminalAvailable"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryCurrent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryFrequency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryApparentPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifctransformer.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryApparentPower"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#imaginaryImpedanceRatio"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryFrequency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralSecondaryTerminalAvailable"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#realImpedanceRatio"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#transformerVectorGroup"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. + +Transformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: Controller converts arbitrary signals, AudioVisualAppliance converts signals for audio or video streams, and CommunicationsAppliance converts signals for data or other communications usage.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_transformertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryVoltage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryVoltage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrentType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FireSuppressionTerminal"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_firesuppressionterminaltypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcfiresuppressionterminal.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFireSuppressionTerminal</rdfs:seeAlso> + <rdfs:label xml:lang="en">Fire suppression terminal</rdfs:label> + <rdfs:comment xml:lang="en">A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. + +A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricTimeControl"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electrictimecontroltypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectrictimecontrol.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricTimeControl</rdfs:seeAlso> + <rdfs:label xml:lang="en">Electric time control</rdfs:label> + <rdfs:comment xml:lang="en">An electric time control is a device that applies control to the provision or flow of electrical energy over time.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowController"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Damper"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeShape"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#leakageFullyClosed"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_dampertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#orientation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#closeOffRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfBlades"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Damper</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#faceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameThickness"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeEdge"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcdamper.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeThickness"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#openPressureDrop"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameDepth"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcDamper</rdfs:seeAlso> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowController"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeAction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Device"> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SanitaryTerminal"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_sanitaryterminaltypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcsanitaryterminal.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSanitaryTerminal</rdfs:seeAlso> + <rdfs:label xml:lang="en">Sanitary terminal</rdfs:label> + <rdfs:comment xml:lang="en">A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ElectricAppliance"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricappliancetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricappliance.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcElectricAppliance</rdfs:seeAlso> + <rdfs:label xml:lang="en">Electric appliance</rdfs:label> + <rdfs:comment xml:lang="en">An electric appliance is a device intended for consumer usage that is powered by electricity. + +Electric appliances may be fixed in place or may be able to be moved from one space to another. Electric appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Condenser"> + <rdfs:label xml:lang="en">Condenser</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_condensertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalWaterVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccondenser.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalRefrigerantVolume"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#externalSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state.</rdfs:comment> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcCondenser</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#BuildingObject"> + <rdfs:label xml:lang="en">Building object</rdfs:label> + <rdfs:comment xml:lang="en">An object in the building that can be controlled by devices, such as a door or a window that can be automatically opened or closed by an actuator. (Definition taken from SAREF 1.0)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#PhysicalObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Chiller"> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcChiller</rdfs:seeAlso> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Chiller</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEvaporatingTemmperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_chillertypecommon.htm"/> + <rdfs:comment xml:lang="en">A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcchiller.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCondensingTemperature"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatRejectionRate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerConsumption"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SpaceHeater"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#placementType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfSections"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcspaceheater.htm"/> + <rdfs:label xml:lang="en">Space heater</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outputCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalMassHeatCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bodyMass"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureClassification"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowTerminal"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfPanels"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferDimension"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalEfficiency"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSpaceHeater</rdfs:seeAlso> + <rdfs:comment xml:lang="en">Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. + +UnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; Coil should be used for coil-based floor heating.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_spaceheatertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferMedium"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#HeatExchanger"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_heatexchangertypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcheatexchanger.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcHeatExchanger</rdfs:seeAlso> + <rdfs:label xml:lang="en">Heat exchanger</rdfs:label> + <rdfs:comment xml:lang="en">A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. HeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas AirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#arrangement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowMovingDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowmovingdevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowMovingDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow moving device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"> + <rdfs:label xml:lang="en">DistributionFlowDevice</rdfs:label> + <rdfs:comment xml:lang="en">Represents devices of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributionflowelement.htm)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Valve"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valvePattern"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvalve.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveOperation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Valve</rdfs:label> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_valvetypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#testPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressure"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#FlowController"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowCoefficient"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#size"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#closeOffRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcValve</rdfs:seeAlso> + <rdfs:comment xml:lang="en">A valve is used in a building services piping distribution system to control or modulate the flow of the fluid.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveMechanism"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#VibrationIsolator"> + <rdfs:comment xml:lang="en">A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#vibrationTransmissibility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvibrationisolator.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcVibrationIsolator</rdfs:seeAlso> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_vibrationisolatortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorStaticDeflection"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Vibration isolator</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorCompressibility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#height"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#supportedWeightMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#SolarDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_solardevicetypecommon.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcsolardevicetypeenum.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcSolarDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Solar device</rdfs:label> + <rdfs:comment xml:lang="en">A solar device converts solar radiation into other energy such as electric current or thermal energy.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#AirToAirHeatRecovery"> + <rdfs:label xml:lang="en">Air to air heat recovery</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferTypeEnum"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcairtoairheatrecovery.htm"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_airtoairheatrecoverytypecommon.htm"/> + <rdfs:comment xml:lang="en">An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcAirToAirHeatRecovery</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasDefrost"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#EvaporativeCooler"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporativecooler.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#flowArrangement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + <rdfs:comment xml:lang="en">An evaporative cooler is a device that cools air by saturating it with water vapor.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Evaporative cooler</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatExchangeArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporativecoolertypecommon.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcEvaporativeCooler</rdfs:seeAlso> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#FlowTreatmentDevice"> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowtreatmentdevice.htm"/> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcFlowTreatmentDevice</rdfs:seeAlso> + <rdfs:label xml:lang="en">Flow treatment device</rdfs:label> + <rdfs:comment xml:lang="en">The distribution flow element FlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionFlowDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Boiler"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isWaterStorageHeater"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferSurfaceArea"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Boiler</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pressureRating"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcBoiler</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMin"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterStorageCapacity"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEnergyConsumption"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingMode"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications.</rdfs:comment> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcboiler.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPartLoadRatio"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_boilertypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMax"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#EnergyConversionDevice"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#Actuator"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Actuator"/> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_actuatortypecommon.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#manualOverride"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcactuator.htm"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#DistributionControlDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#failPosition"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcActuator</rdfs:seeAlso> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:comment xml:lang="en">An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4bldg#ShadingDevice"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#shadingDeviceType"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalTransmittance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcshadingdevice.htm"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarReflectance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Shading device</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightTransmittance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarTransmittance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mechanicalOperated"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightReflectance"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <prov:hadPrimarySource rdf:resource="http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/pset/pset_shadingdevicecommon.htm"/> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4bldg#BuildingDevice"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#roughness"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso>https://w3id.org/ifc/IFC4_ADD1#IfcShadingDevice</rdfs:seeAlso> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isExternal"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#liftElevationDifference"> + <rdfs:label xml:lang="en">lift elevation difference</rdfs:label> + <rdfs:comment xml:lang="en">Elevation difference between cooling tower sump and the top of the tower. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowCoefficient"> + <rdfs:label xml:lang="en">flow coefficient</rdfs:label> + <rdfs:comment xml:lang="en">Flow coefficient (the quantity of fluid that passes through a fully open valve at unit pressure drop), typically expressed as the Kv or Cv value for the valve.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryVoltage"> + <rdfs:label xml:lang="en">secondary voltage</rdfs:label> + <rdfs:comment xml:lang="en">The voltage that has been transformed and is running out of the transformer on the secondary side. Usually measured in Volts (V, W/A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMin"> + <rdfs:label xml:lang="en">nominal supply voltage offset</rdfs:label> + <rdfs:comment xml:lang="en">The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameDepth"> + <rdfs:label xml:lang="en">frame depth</rdfs:label> + <rdfs:comment xml:lang="en">The length (or depth) of the damper frame. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#horizontalSpacing"> + <rdfs:label xml:lang="en">horizontal spacing</rdfs:label> + <rdfs:comment xml:lang="en">Horizontal spacing between tubes in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorStaticDeflection"> + <rdfs:label xml:lang="en">isolator static deflection</rdfs:label> + <rdfs:comment xml:lang="en">Static deflection of the vibration isolator. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWidthOrDiameter"> + <rdfs:label xml:lang="en">nominal width or diameter</rdfs:label> + <rdfs:comment xml:lang="en">The nominal width or, in the case of a horizontal cylindrical tank, the nominal diameter of the tank. Note: Not required for a vertical cylindrical tank. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMax"> + <rdfs:label xml:lang="en">secondary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEfficiency"> + <rdfs:label xml:lang="en">nominal efficiency</rdfs:label> + <rdfs:comment xml:lang="en">Nominal chiller efficiency under nominal conditions. </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bodyMass"> + <rdfs:label xml:lang="en">body mass</rdfs:label> + <rdfs:comment xml:lang="en">Overall body mass of the heater. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ventilatingPipeSize"> + <rdfs:label xml:lang="en">ventilating pipe size</rdfs:label> + <rdfs:comment xml:lang="en">Size of the ventilating pipe(s). Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalUa"> + <rdfs:label xml:lang="en">nominal ua</rdfs:label> + <rdfs:comment xml:lang="en">Nominal UA value.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#vibrationTransmissibility"> + <rdfs:label xml:lang="en">vibration transmissibility</rdfs:label> + <rdfs:comment xml:lang="en">The vibration transmissibility percentage.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pressureRating"> + <rdfs:label xml:lang="en">pressure rating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal pressure rating of the boiler as rated by the agency having jurisdiction. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterStorageCapacity"> + <rdfs:label xml:lang="en">water storage capacity</rdfs:label> + <rdfs:comment xml:lang="en">Water storage capacity. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMin"> + <rdfs:label xml:lang="en">flow resistance range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalMassHeatCapacity"> + <rdfs:label xml:lang="en">thermal mass heat capacity</rdfs:label> + <rdfs:comment xml:lang="en">Product of component mass and specific heat.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMin"> + <rdfs:label xml:lang="en">minimum spectrum</rdfs:label> + <rdfs:comment xml:lang="en">The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMax"> + <rdfs:label xml:lang="en">primary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Maximum primary airflow that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeThickness"> + <rdfs:label xml:lang="en">blade thickness</rdfs:label> + <rdfs:comment xml:lang="en">The thickness of the damper blade. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#openPressureDrop"> + <rdfs:label xml:lang="en">open pressure drop</rdfs:label> + <rdfs:comment xml:lang="en">Total pressure drop across damper. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMax"> + <rdfs:label xml:lang="en">maximum working pressure</rdfs:label> + <rdfs:comment xml:lang="en">Maximum working pressure. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilLength"> + <rdfs:label xml:lang="en">coil length</rdfs:label> + <rdfs:comment xml:lang="en">Length of coil. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLengthOrDiameter"> + <rdfs:label xml:lang="en">nominal length or diameter</rdfs:label> + <rdfs:comment xml:lang="en">The nominal length or, in the case of a vertical cylindrical tank, the nominal diameter of the tank. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#supportedWeightMax"> + <rdfs:label xml:lang="en">maximum supported weight</rdfs:label> + <rdfs:comment xml:lang="en">The maximum weight that can be carried by the vibration isolator. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarTransmittance"> + <rdfs:label xml:lang="en">solar transmittance</rdfs:label> + <rdfs:comment xml:lang="en">(Tsol) The ratio of incident solar radiation that directly passes through a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignWetBulbTemperature"> + <rdfs:label xml:lang="en">ambient design wet bulb temperature</rdfs:label> + <rdfs:comment xml:lang="en">Ambient design wet bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryAirFlowRateMin"> + <rdfs:label xml:lang="en">primary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Minimum primary airflow that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCondensingTemperature"> + <rdfs:label xml:lang="en">nominal condensing temperature</rdfs:label> + <rdfs:comment xml:lang="en">Chiller condensing temperature. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalAirFlowRate"> + <rdfs:label xml:lang="en">nominal air flow rate</rdfs:label> + <rdfs:comment xml:lang="en">Nominal rate of air flow. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDiameter"> + <rdfs:label xml:lang="en">nominal diameter</rdfs:label> + <rdfs:comment xml:lang="en">Nominal diameter or width of the tubes in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#realImpedanceRatio"> + <rdfs:label xml:lang="en">real impedance ratio</rdfs:label> + <rdfs:comment xml:lang="en">The ratio between the real part of the zero sequence impedance and the real part of the positive impedance (i.e. real part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMax"> + <rdfs:label xml:lang="en">nominal supply voltage offset</rdfs:label> + <rdfs:comment xml:lang="en">The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowCooling"> + <rdfs:label xml:lang="en">nominal water flow cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal water flow (refers to nominal cooling capacity). Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFilterFaceVelocity"> + <rdfs:label xml:lang="en">nominal filter face velocity</rdfs:label> + <rdfs:comment xml:lang="en">Filter face velocity. Usually measured in m/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMin"> + <rdfs:label xml:lang="en">operation temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCapacity"> + <rdfs:label xml:lang="en">nominal capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a measurement and the unit of measure in which the measurement value is expressed.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPartLoadRatio"> + <rdfs:label xml:lang="en">nominal part load ratio</rdfs:label> + <rdfs:comment xml:lang="en">Allowable part load ratio range.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalConductivity"> + <rdfs:label xml:lang="en">thermal conductivity</rdfs:label> + <rdfs:comment xml:lang="en">Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMin"> + <rdfs:label xml:lang="en">water pressure range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalLatentCapacity"> + <rdfs:label xml:lang="en">nominal latent capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal latent capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricMeanDiameter"> + <rdfs:label xml:lang="en">nominal particle geometric mean diameter</rdfs:label> + <rdfs:comment xml:lang="en">Particle geometric mean diameter associated with nominal efficiency. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#weight"> + <rdfs:label xml:lang="en">weight</rdfs:label> + <rdfs:comment xml:lang="en">The weight of the device. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment xml:lang="en">The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping .</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressureMin"> + <rdfs:label xml:lang="en">minimum working pressure</rdfs:label> + <rdfs:comment xml:lang="en">Allowable minimum working pressure (relative to ambient pressure). Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferArea"> + <rdfs:label xml:lang="en">nominal heat transfer area</rdfs:label> + <rdfs:comment xml:lang="en">Nominal heat transfer surface area associated with nominal overall heat transfer coefficient. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#contributedLuminousFlux"> + <rdfs:label xml:lang="en">contributed luminous flux</rdfs:label> + <rdfs:comment xml:lang="en">Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. Usually measured in Lumen (lm, Candela Steradian).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationTemperatureMax"> + <rdfs:label xml:lang="en">operation temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outputCapacity"> + <rdfs:label xml:lang="en">output capacity</rdfs:label> + <rdfs:comment xml:lang="en">Total nominal heat output as listed by the manufacturer. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightReflectance"> + <rdfs:label xml:lang="en">visible light reflectance</rdfs:label> + <rdfs:comment xml:lang="en">Fraction of the visible light that is reflected by the glazing at normal incidence. It is a value without unit.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalRotationSpeed"> + <rdfs:label xml:lang="en">nominal rotation speed</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fan wheel speed. Usually measured in cycles/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#workingPressure"> + <rdfs:label xml:lang="en">working pressure</rdfs:label> + <rdfs:comment xml:lang="en">The normally expected maximum working pressure of the valve. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureRating"> + <rdfs:label xml:lang="en">temperature rating</rdfs:label> + <rdfs:comment xml:lang="en">Temperature rating. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#frameThickness"> + <rdfs:label xml:lang="en">frame thickness</rdfs:label> + <rdfs:comment xml:lang="en">The thickness of the damper frame material. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealShaftPower"> + <rdfs:label xml:lang="en">ideal shaft power</rdfs:label> + <rdfs:comment xml:lang="en">Compressor shaft power under ideal conditions. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalCoolingCapacity"> + <rdfs:label xml:lang="en">nominal cooling capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal cooling capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyLength"> + <rdfs:label xml:lang="en">nominal body length</rdfs:label> + <rdfs:comment xml:lang="en">Nominal or quoted length, measured along the x-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureCooling"> + <rdfs:label xml:lang="en">nominal supply water temperature cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal supply water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMin"> + <rdfs:label xml:lang="en">secondary air flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#hydraulicDiameter"> + <rdfs:label xml:lang="en">hydraulic diameter</rdfs:label> + <rdfs:comment xml:lang="en">Hydraulic diameter. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#verticalSpacing"> + <rdfs:label xml:lang="en">vertical spacing</rdfs:label> + <rdfs:comment xml:lang="en">Vertical spacing between tubes in the tube bundle.Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nomminalRotationSpeed"> + <rdfs:label xml:lang="en">nomminal rotation speed</rdfs:label> + <rdfs:comment xml:lang="en">Pump rotational speed under nominal conditions. Usually measured in cycles/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#compressorSpeed"> + <rdfs:label xml:lang="en">compressor speed</rdfs:label> + <rdfs:comment xml:lang="en">Compressor speed. Usually measured in cycles/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterRequirement"> + <rdfs:label xml:lang="en">water requirement</rdfs:label> + <rdfs:comment xml:lang="en">Make-up water requirement. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyVoltage"> + <rdfs:label xml:lang="en">nominal supply voltage</rdfs:label> + <rdfs:comment xml:lang="en">The nominal voltage of the supply. Usually measured in Volts (V, W/A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMax"> + <rdfs:label xml:lang="en">pump flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outsideDiameter"> + <rdfs:label xml:lang="en">outside diameter</rdfs:label> + <rdfs:comment xml:lang="en">Actual outside diameter of the tube in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMax"> + <rdfs:label xml:lang="en">maximum part load ratio</rdfs:label> + <rdfs:comment xml:lang="en">Maximum part load ratio as a fraction of nominal capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#testPressure"> + <rdfs:label xml:lang="en">test pressure</rdfs:label> + <rdfs:comment xml:lang="en">The maximum pressure to which the valve has been subjected under test. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalWaterFlowHeating"> + <rdfs:label xml:lang="en">nominal water flow heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal water flow (refers to nominal heating capacity). Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEvaporatingTemmperature"> + <rdfs:label xml:lang="en">nominal evaporating temmperature</rdfs:label> + <rdfs:comment xml:lang="en">Chiller evaporating temperature.Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#visibleLightTransmittance"> + <rdfs:label xml:lang="en">visible light transmittance</rdfs:label> + <rdfs:comment xml:lang="en">Fraction of the visible light that passes the shading system at normal incidence. It is a value without unit.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryApparentPower"> + <rdfs:label xml:lang="en">primary apparent power</rdfs:label> + <rdfs:comment xml:lang="en">The power in VA (volt ampere) that has been transformed and that runs into the transformer on the primary side. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMin"> + <rdfs:label xml:lang="en">fluid flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Possible range of fluid flowrate that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#isolatorCompressibility"> + <rdfs:label xml:lang="en">isolator compressibility</rdfs:label> + <rdfs:comment xml:lang="en">The compressibility of the vibration isolator.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#faceArea"> + <rdfs:label xml:lang="en">face area</rdfs:label> + <rdfs:comment xml:lang="en">Face area open to the airstream. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#pumpFlowRateMin"> + <rdfs:label xml:lang="en">pump flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#imaginaryImpedanceRatio"> + <rdfs:label xml:lang="en">imaginary impedance ratio</rdfs:label> + <rdfs:comment xml:lang="en">The ratio between the imaginary part of the zero sequence impedance and the imaginary part of the positive impedance (i.e. imaginary part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFlowRate"> + <rdfs:label xml:lang="en">nominal flow rate</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fluid flow rate through the filter. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalEfficiency"> + <rdfs:label xml:lang="en">thermal efficiency</rdfs:label> + <rdfs:comment xml:lang="en">Overall Thermal Efficiency is defined as gross energy output of the heat transfer device divided by the energy input.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverWidth"> + <rdfs:label xml:lang="en">cover width</rdfs:label> + <rdfs:comment xml:lang="en">The length measured along the x-axis in the local coordinate system of the cover of the oil interceptor. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#solarReflectance"> + <rdfs:label xml:lang="en">solar reflectance</rdfs:label> + <rdfs:comment xml:lang="en">(Rsol): The ratio of incident solar radiation that is reflected by a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureHeating"> + <rdfs:label xml:lang="en">nominal supply water temperature heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal supply water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMax"> + <rdfs:label xml:lang="en">water inlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water inlet temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondCurvatureRadius"> + <rdfs:label xml:lang="en">second curvature radius</rdfs:label> + <rdfs:comment xml:lang="en">SecondCurvatureRadius should be defined as the top or right side radius of curvature value. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#limitingTerminalSize"> + <rdfs:label xml:lang="en">limiting terminal size</rdfs:label> + <rdfs:comment xml:lang="en">The maximum terminal size capacity of the device. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#foulingFactor"> + <rdfs:label xml:lang="en">fouling factor</rdfs:label> + <rdfs:comment xml:lang="en">Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#size"> + <rdfs:label xml:lang="en">size</rdfs:label> + <rdfs:comment xml:lang="en">The size of the connection to the valve (or to each connection for faucets, mixing valves, etc.). Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricGeneratorEfficiency"> + <rdfs:label xml:lang="en">electric generator efficiency</rdfs:label> + <rdfs:comment xml:lang="en">The ratio of output capacity to intake capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lightEmitterNominalPower"> + <rdfs:label xml:lang="en">light emitter nominal power</rdfs:label> + <rdfs:comment xml:lang="en">Light emitter nominal power. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#colorTemperature"> + <rdfs:label xml:lang="en">color temperature</rdfs:label> + <rdfs:comment xml:lang="en">The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrent"> + <rdfs:label xml:lang="en">secondary current</rdfs:label> + <rdfs:comment xml:lang="en">The current that has been transformed and is running out of the transformer on the secondary side. Usually measured in Ampere (A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#height"> + <rdfs:label xml:lang="en">height</rdfs:label> + <rdfs:comment xml:lang="en">Height of the vibration isolator before tha application of load. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMax"> + <rdfs:label xml:lang="en">air flow rate range max</rdfs:label> + <rdfs:comment xml:lang="en">Maximum allowable air flow rate. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryCurrent"> + <rdfs:label xml:lang="en">primary current</rdfs:label> + <rdfs:comment xml:lang="en">The current that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Ampere (A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#firstCurvatureRadius"> + <rdfs:label xml:lang="en">first curvature radius</rdfs:label> + <rdfs:comment xml:lang="en">FirstCurvatureRadius should be defined as the base or left side radius of curvature value. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#audioVolume"> + <rdfs:label xml:lang="en">audio volume</rdfs:label> + <rdfs:comment xml:lang="en">Indicates discrete audio volume levels and corresponding sound power offsets, if applicable. Missing values may be interpolated. Measured in watts.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#electricMotorEfficiency"> + <rdfs:label xml:lang="en">electric motor efficiency</rdfs:label> + <rdfs:comment xml:lang="en">The ratio of output capacity to intake capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#leakageFullyClosed"> + <rdfs:label xml:lang="en">leakage fully closed</rdfs:label> + <rdfs:comment xml:lang="en">Leakage when fully closed. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalTotalPressure"> + <rdfs:label xml:lang="en">nominal total pressure</rdfs:label> + <rdfs:comment xml:lang="en">Nominal total pressure rise across the fan. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coverLength"> + <rdfs:label xml:lang="en">cover length</rdfs:label> + <rdfs:comment xml:lang="en">The length measured along the x-axis in the local coordinate system or the radius (in the case of a circular shape in plan) of the cover of the oil interceptor. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#powerOutputMax"> + <rdfs:label xml:lang="en">maximum power output</rdfs:label> + <rdfs:comment xml:lang="en">The maximum output power rating of the engine. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletConnectionSize"> + <rdfs:label xml:lang="en">outlet connection size</rdfs:label> + <rdfs:comment xml:lang="en">Size of the outlet connection. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lampMaintenanceFactor"> + <rdfs:label xml:lang="en">lamp maintenance factor</rdfs:label> + <rdfs:comment xml:lang="en">Non recoverable losses of luminous flux of a lamp due to lamp depreciation i.e. the decreasing of light output of a luminaire due to aging and dirt.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalWaterVolume"> + <rdfs:label xml:lang="en">internal water volume</rdfs:label> + <rdfs:comment xml:lang="en">Internal volume of evaporator (water side). Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferSurfaceArea"> + <rdfs:label xml:lang="en">heat transfer surface area</rdfs:label> + <rdfs:comment xml:lang="en">Total heat transfer area of the vessel. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#basinReserveVolume"> + <rdfs:label xml:lang="en">basin reserve volume</rdfs:label> + <rdfs:comment xml:lang="en">Volume between operating and overflow levels in cooling tower basin. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#lockedRotorCurrent"> + <rdfs:label xml:lang="en">locked rotor current</rdfs:label> + <rdfs:comment xml:lang="en">Input current when a motor armature is energized but not rotating. Usually measured in Ampere (A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#insideDiameter"> + <rdfs:label xml:lang="en">inside diameter</rdfs:label> + <rdfs:comment xml:lang="en">Actual inner diameter of the tube in the tube bundle. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterInletTemperatureMin"> + <rdfs:label xml:lang="en">water inlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water inlet temperature range. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalRefrigerantVolume"> + <rdfs:label xml:lang="en">internal refrigerant volume</rdfs:label> + <rdfs:comment xml:lang="en">Internal volume of evaporator (refrigerant side). Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMediaSurfaceVelocity"> + <rdfs:label xml:lang="en">nominal media surface velocity</rdfs:label> + <rdfs:comment xml:lang="en">Average fluid velocity at the media surface. Usually measured in m/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#volumen"> + <rdfs:label xml:lang="en">volumen</rdfs:label> + <rdfs:comment xml:lang="en">Total volume of fluid in the tubes and their headers. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerRate"> + <rdfs:label xml:lang="en">nominal power rate</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fan power rate.Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inLineRowSpacing"> + <rdfs:label xml:lang="en">in line row spacing</rdfs:label> + <rdfs:comment xml:lang="en">In-line tube row spacing. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyDepth"> + <rdfs:label xml:lang="en">nominal body depth</rdfs:label> + <rdfs:comment xml:lang="en">Nominal or quoted =length, measured along the z-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingHumidityCooling"> + <rdfs:label xml:lang="en">nominal sorrounding humidity cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal surrounding humidity (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalFrequency"> + <rdfs:label xml:lang="en">nominal frequency</rdfs:label> + <rdfs:comment xml:lang="en">The nominal frequency of the supply. Usually measured in cycles/s or Hertz (Hz).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#coilWidth"> + <rdfs:label xml:lang="en">coil width</rdfs:label> + <rdfs:comment xml:lang="en">Width of coil. Usually measured in millimeters (mm</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSensibleCapacity"> + <rdfs:label xml:lang="en">nominal sensible capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal sensible capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatRejectionRate"> + <rdfs:label xml:lang="en">nominal heat rejection rate</rdfs:label> + <rdfs:comment xml:lang="en">Sum of the refrigeration effect and the heat equivalent of the power input to the compressor. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryFrequency"> + <rdfs:label xml:lang="en">primary frequency</rdfs:label> + <rdfs:comment xml:lang="en">The frequency that is going to be transformed and that runs into the transformer on the primary side. Usually measured in cycles/s or Hertz (Hz).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalStaticPressure"> + <rdfs:label xml:lang="en">nominal static pressure</rdfs:label> + <rdfs:comment xml:lang="en">The static pressure within the air stream that the fan must overcome to insure designed circulation of air. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#thermalTransmittance"> + <rdfs:label xml:lang="en">thermal transmittance</rdfs:label> + <rdfs:comment xml:lang="en">Rate at which energy is transmitted through a body. Usually measured in Watts/m2 Kelvin.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#partLoadRatioMin"> + <rdfs:label xml:lang="en">minimum part load ratio</rdfs:label> + <rdfs:comment xml:lang="en">Minimum part load ratio as a fraction of nominal capacity.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#connectionSize"> + <rdfs:label xml:lang="en">connection size</rdfs:label> + <rdfs:comment xml:lang="en">The connection size of the to and from the pump. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalBodyWidth"> + <rdfs:label xml:lang="en">nominal body width</rdfs:label> + <rdfs:comment xml:lang="en">Nominal or quoted length, measured along the y-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPressureDrop"> + <rdfs:label xml:lang="en">nominal pressure drop</rdfs:label> + <rdfs:comment xml:lang="en">Total pressure drop across the filter. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#fluidFlowRateMax"> + <rdfs:label xml:lang="en">fluid flow rate range</rdfs:label> + <rdfs:comment xml:lang="en">Possible range of fluid flowrate that can be delivered. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryApparentPower"> + <rdfs:label xml:lang="en">secondary apparent power</rdfs:label> + <rdfs:comment xml:lang="en">The power in VA (volt ampere) that has been transformed and is running out of the transformer on the secondary side. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalParticleGeometricStandardDeviation"> + <rdfs:label xml:lang="en">nominal particle geometric standard deviation</rdfs:label> + <rdfs:comment xml:lang="en">Particle geometric standard deviation associated with nominal efficiency. </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient"> + <rdfs:label xml:lang="en">nominal heat transfer coefficient</rdfs:label> + <rdfs:comment xml:lang="en">Nominal overall heat transfer coefficient associated with nominal heat transfer area. Usually measured in Watts/m2 Kelvin.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a measurement and the property such measurement is about.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryFrequency"> + <rdfs:label xml:lang="en">secondary frequency</rdfs:label> + <rdfs:comment xml:lang="en">The frequency that has been transformed and is running out of the transformer on the secondary side. Usually measured in cycles/s or Hertz (Hz).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#heatExchangeArea"> + <rdfs:label xml:lang="en">heat exchange area</rdfs:label> + <rdfs:comment xml:lang="en">Heat exchange area. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#airFlowRateMin"> + <rdfs:label xml:lang="en">air flow rate range min</rdfs:label> + <rdfs:comment xml:lang="en">Minimum allowable air flow rate. Usually measured in m3/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMin"> + <rdfs:label xml:lang="en">outlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalHeatingCapacity"> + <rdfs:label xml:lang="en">nominal heating capacity</rdfs:label> + <rdfs:comment xml:lang="en">Nominal heating capacity. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureCooling"> + <rdfs:label xml:lang="en">nominal return water temperature cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal return water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#internalSurfaceArea"> + <rdfs:label xml:lang="en">internal surface area</rdfs:label> + <rdfs:comment xml:lang="en">Internal surface area. Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#effectiveCapacity"> + <rdfs:label xml:lang="en">effective capacity</rdfs:label> + <rdfs:comment xml:lang="en">The total effective or actual volumetric capacity of the tank. Usually measured in cubic metre (m3).B3</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalMoistureGain"> + <rdfs:label xml:lang="en">nominal moisture gain</rdfs:label> + <rdfs:comment xml:lang="en">Nominal rate of water vapor added into the airstream. Usually measured in kg/s.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#apparentPowerMax"> + <rdfs:label xml:lang="en">maximum apparent power</rdfs:label> + <rdfs:comment xml:lang="en">Maximum apparent power/capacity in VA (volt ampere). Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureHeating"> + <rdfs:label xml:lang="en">nominal sorrounding temperature heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal surrounding temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#finalResistance"> + <rdfs:label xml:lang="en">final resistance</rdfs:label> + <rdfs:comment xml:lang="en">Filter fluid resistance when replacement is required (i.e., Pressure drop at the maximum air flowrate across the filter when the filter needs replacement per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#length"> + <rdfs:label xml:lang="en">length</rdfs:label> + <rdfs:comment xml:lang="en">The finished length of the device. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#closeOffRating"> + <rdfs:label xml:lang="en">close off rating</rdfs:label> + <rdfs:comment xml:lang="en">Close off rating. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingWeight"> + <rdfs:label xml:lang="en">operating weight</rdfs:label> + <rdfs:comment xml:lang="en">Operating weight of the tank including all of its contents. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#ambientDesignDryBulbTemperature"> + <rdfs:label xml:lang="en">ambient design dry bulb temperature</rdfs:label> + <rdfs:comment xml:lang="en">Ambient design dry bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#initialResistance"> + <rdfs:label xml:lang="en">initial resistance</rdfs:label> + <rdfs:comment xml:lang="en">Initial new filter fluid resistance (i.e., pressure drop at the maximum air flowrate across the filter when the filter is new per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#inletConnectionSize"> + <rdfs:label xml:lang="en">inlet connection size</rdfs:label> + <rdfs:comment xml:lang="en">Size of the inlet connection. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#shortCircuitVoltage"> + <rdfs:label xml:lang="en">short circuit voltage</rdfs:label> + <rdfs:comment xml:lang="en">A complex number that specifies the real and imaginary parts of the short-circuit voltage at rated current of a transformer given in %.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#netPositiveSuctionHead"> + <rdfs:label xml:lang="en">net positive suction head</rdfs:label> + <rdfs:comment xml:lang="en">Minimum liquid pressure at the pump inlet to prevent cavitation. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalVolumetricCapacity"> + <rdfs:label xml:lang="en">nominal volumetric capacity</rdfs:label> + <rdfs:comment xml:lang="en">The total nominal or design volumetric capacity of the tank. Usually measured in cubic metre (m3).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalEnergyConsumption"> + <rdfs:label xml:lang="en">nominal energy consumption</rdfs:label> + <rdfs:comment xml:lang="en">Nominal fuel consumption rate required to produce the total boiler heat output. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#primaryVoltage"> + <rdfs:label xml:lang="en">primary voltage</rdfs:label> + <rdfs:comment xml:lang="en">The voltage that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Volts (V, W/A).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#idealCapacity"> + <rdfs:label xml:lang="en">ideal capacity</rdfs:label> + <rdfs:comment xml:lang="en">Compressor capacity under ideal conditions. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityWeight"> + <rdfs:label xml:lang="en">capacity weight</rdfs:label> + <rdfs:comment xml:lang="en">Capacity of the transport element measured by weight. Usually measured in kilograms (kg) or grams (g).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startCurrentFactor"> + <rdfs:label xml:lang="en">start current factor</rdfs:label> + <rdfs:comment xml:lang="en">IEC. Start current factor defines how large the peek starting current will become on the engine. StartCurrentFactor is multiplied to NominalCurrent and we get the start current.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureHeating"> + <rdfs:label xml:lang="en">nominal return water temperature heating</rdfs:label> + <rdfs:comment xml:lang="en">Nominal return water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#spectrumMax"> + <rdfs:label xml:lang="en">maximum spectrum</rdfs:label> + <rdfs:comment xml:lang="en">The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#staggeredRowSpacing"> + <rdfs:label xml:lang="en">staggered row spacing</rdfs:label> + <rdfs:comment xml:lang="en">Staggered tube row spacing. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#impellerDiameter"> + <rdfs:label xml:lang="en">impeller diameter</rdfs:label> + <rdfs:comment xml:lang="en">Diameter of compressor impeller - used to scale performance of geometrically similar compressors. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#waterPressureMax"> + <rdfs:label xml:lang="en">water pressure range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#outletTemperatureMax"> + <rdfs:label xml:lang="en">outlet temperature range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureCooling"> + <rdfs:label xml:lang="en">nominal sorrounding temperature cooling</rdfs:label> + <rdfs:comment xml:lang="en">Nominal surrounding temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#teTime"> + <rdfs:label xml:lang="en">te time</rdfs:label> + <rdfs:comment xml:lang="en">The maximum time (in s) at which the motor could run with locked rotor when the motor is used in an EX-environment. The time indicates that a protective device should trip before this time when the starting current of the motor is slowing through the device.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalDepth"> + <rdfs:label xml:lang="en">nominal depth</rdfs:label> + <rdfs:comment xml:lang="en">The nominal depth of the tank. Note: Not required for a horizontal cylindrical tank. Usually measured in millimeters (mm).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#flowResistanceMax"> + <rdfs:label xml:lang="en">flow resistance range</rdfs:label> + <rdfs:comment xml:lang="en">Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#startingTime"> + <rdfs:label xml:lang="en">starting time</rdfs:label> + <rdfs:comment xml:lang="en">The time (in s) needed for the motor to reach its rated speed with its driven equipment attached, starting from standstill and at the nominal voltage applied at its terminals.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#operationalRiterial"> + <rdfs:label xml:lang="en">operational riterial</rdfs:label> + <rdfs:comment xml:lang="en">Time of operation at maximum operational ambient air temperature. Measured in seconds (s) or days (d) or other units of time.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#nominalPowerConsumption"> + <rdfs:label xml:lang="en">nominal power consumption</rdfs:label> + <rdfs:comment xml:lang="en">Nominal total power consumption. Usually measured in Watts (W, J/s).</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4bldg#externalSurfaceArea"> + <rdfs:label xml:lang="en">external surface area</rdfs:label> + <rdfs:comment xml:lang="en">External surface area (both primary and secondary area). Usually measured in square metre (m2).</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#manualOverride"> + <rdfs:label xml:lang="en">manual override</rdfs:label> + <rdfs:comment xml:lang="en">Identifies whether hand-operated operation is provided as an override (= TRUE) or not (= FALSE). Note that this value should be set to FALSE by default in the case of a Hand Operated Actuator.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCells"> + <rdfs:label xml:lang="en">number of cells</rdfs:label> + <rdfs:comment xml:lang="en">Number of cells in one cooling tower unit.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isExternal"> + <rdfs:label xml:lang="en">is external</rdfs:label> + <rdfs:comment xml:lang="en">Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#accessType"> + <rdfs:label xml:lang="en">access type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the types of access (or cover) to a tank that may be specified. Note that covers are generally specified for rectangular tanks. For cylindrical tanks, access will normally be via a manhole.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferMedium"> + <rdfs:label xml:lang="en">heat transfer medium</rdfs:label> + <rdfs:comment xml:lang="en">Enumeration defining the heat transfer medium if applicable.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isFreeHanging"> + <rdfs:label xml:lang="en">is free hanging</rdfs:label> + <rdfs:comment xml:lang="en">Is it free hanging type (not mounted in a false ceiling)?</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferTypeEnum"> + <rdfs:label xml:lang="en">heat transfer type enum</rdfs:label> + <rdfs:comment xml:lang="en">Type of heat transfer between the two air streams.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfSections"> + <rdfs:label xml:lang="en">number of sections</rdfs:label> + <rdfs:comment xml:lang="en">Number of sections used.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#heatTransferDimension"> + <rdfs:label xml:lang="en">heat transfer dimension</rdfs:label> + <rdfs:comment xml:lang="en">Indicates how heat is transmitted according to the shape of the space heater.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationCoolant"> + <rdfs:label xml:lang="en">evaporation coolant</rdfs:label> + <rdfs:comment xml:lang="en">The fluid used for the coolant in the evaporator.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasHotGasBypass"> + <rdfs:label xml:lang="en">has hot gas bypass</rdfs:label> + <rdfs:comment xml:lang="en">Whether or not hot gas bypass is provided for the compressor. TRUE = Yes, FALSE = No.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operation"> + <rdfs:label xml:lang="en">operation</rdfs:label> + <rdfs:comment xml:lang="en">The operational mechanism for the damper operation.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#roughness"> + <rdfs:label xml:lang="en">roughness</rdfs:label> + <rdfs:comment xml:lang="en">A measure of the vertical deviations of the surface.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOsSockets"> + <rdfs:label xml:lang="en">number os sockets</rdfs:label> + <rdfs:comment xml:lang="en">The number of sockets that may be connected. In case of inconsistency, sockets defined on ports take precedence.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasDefrost"> + <rdfs:label xml:lang="en">has defrost</rdfs:label> + <rdfs:comment xml:lang="en">Whether the heat exchanger has defrost function or not.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mechanicalOperated"> + <rdfs:label xml:lang="en">mechanical operated</rdfs:label> + <rdfs:comment xml:lang="en">Indication whether the element is operated machanically (TRUE) or not, i.e. manually (FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#evaporationMediumType"> + <rdfs:label xml:lang="en">evaporation medium type</rdfs:label> + <rdfs:comment xml:lang="en">ColdLiquid: Evaporator is using liquid type of fluid to exchange heat with refrigerant. ColdAir: Evaporator is using air to exchange heat with refrigerant.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorAppearance"> + <rdfs:label xml:lang="en">color appearance</rdfs:label> + <rdfs:comment xml:lang="en">In both the DIN and CIE standards, artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#application"> + <rdfs:label xml:lang="en">application</rdfs:label> + <rdfs:comment xml:lang="en">Humidifier application. Fixed: Humidifier installed in a ducted flow distribution system. Portable: Humidifier is not installed in a ducted flow distribution system.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#waterFlowControlSystemType"> + <rdfs:label xml:lang="en">water flow control system type</rdfs:label> + <rdfs:comment xml:lang="en">Factory fitted waterflow control system.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isGuarded"> + <rdfs:label xml:lang="en">is guarded</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether the motor enclosure is guarded (= TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#operatingMode"> + <rdfs:label xml:lang="en">operating mode</rdfs:label> + <rdfs:comment xml:lang="en">Identifies the operating mode of the boiler.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#endShapeType"> + <rdfs:label xml:lang="en">end shape type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the types of end shapes that can be used for preformed tanks. The convention for reading these enumerated values is that for a vertical cylinder, the first value is the base and the second is the top for a horizontal cylinder, the order of reading should be left to right. For a speherical tank, the value UNSET should be used.B5</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralSecondaryTerminalAvailable"> + <rdfs:label xml:lang="en">is neutral secondary terminal available</rdfs:label> + <rdfs:comment xml:lang="en">An indication of whether the neutral point of the secondary winding is available as a terminal (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#finishColor"> + <rdfs:label xml:lang="en">finish color</rdfs:label> + <rdfs:comment xml:lang="en">Finish color for cooled beam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#readOutType"> + <rdfs:label xml:lang="en">read out type</rdfs:label> + <rdfs:comment xml:lang="en">Indication of the form that readout from the meter takes. In the case of a dial read out, this may comprise multiple dials that give a cumulative reading and/or a mechanical odometer.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#integratedLightingType"> + <rdfs:label xml:lang="en">integrated lighting type</rdfs:label> + <rdfs:comment xml:lang="en">Integrated lighting in cooled beam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#transformerVectorGroup"> + <rdfs:label xml:lang="en">transformer vector group</rdfs:label> + <rdfs:comment xml:lang="en">List of the possible vector groups for the transformer from which that required may be set. Values in the enumeration list follow a standard international code where the first letter describes how the primary windings are connected, the second letter describes how the secondary windings are connected, and the numbers describe the rotation of voltages and currents from the primary to the secondary side in multiples of 30 degrees. D: means that the windings are delta-connected. Y: means that the windings are star-connected. Z: means that the windings are zig-zag connected (a special start-connected providing low reactance of the transformer). The connectivity is only relevant for three-phase transformers.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasExteriorInsulation"> + <rdfs:label xml:lang="en">has exterior insulation</rdfs:label> + <rdfs:comment xml:lang="en">TRUE if the silencer has exterior insulation. FALSE if it does not.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#circuitType"> + <rdfs:label xml:lang="en">circuit type</rdfs:label> + <rdfs:comment xml:lang="en">OpenCircuit: Exposes water directly to the cooling atmosphere. CloseCircuit: The fluid is separated from the atmosphere by a heat exchanger. Wet: The air stream or the heat exchange surface is evaporatively cooled. Dry: No evaporation into the air stream. DryWet: A combination of a dry tower and a wet tower.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeShape"> + <rdfs:label xml:lang="en">blade shape</rdfs:label> + <rdfs:comment xml:lang="en">Blade shape. Flat means triple V-groove.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valvePattern"> + <rdfs:label xml:lang="en">valve pattern</rdfs:label> + <rdfs:comment xml:lang="en">The configuration of the ports of a valve according to either the linear route taken by a fluid flowing through the valve or by the number of ports where: SINGLEPORT: Valve that has a single entry port from the system that it serves, the exit port being to the surrounding environment. ANGLED_2_PORT: Valve in which the direction of flow is changed through 90 degrees. STRAIGHT_2_PORT: Valve in which the flow is straight through. STRAIGHT_3_PORT: Valve with three separate ports. CROSSOVER_4_PORT: Valve with 4 separate ports.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#standard"> + <rdfs:label xml:lang="en">standard</rdfs:label> + <rdfs:comment xml:lang="en">The designation of the standard applicable for the definition of the characteristics of the unit.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameType"> + <rdfs:label xml:lang="en">frame type</rdfs:label> + <rdfs:comment xml:lang="en">The type of frame used by the damper (e.g., Standard, Single Flange, Single Reversed Flange, Double Flange, etc.).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#colorRenderingIndex"> + <rdfs:label xml:lang="en">color rendering index</rdfs:label> + <rdfs:comment xml:lang="en">The CRI indicates how well a light source renders eight standard colors compared to perfect reference lamp with the same color temperature. The CRI scale ranges from 1 to 100, with 100 representing perfect rendering properties.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#placementType"> + <rdfs:label xml:lang="en">placement type</rdfs:label> + <rdfs:comment xml:lang="en">Indicates how the device is designed to be placed.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityPeople"> + <rdfs:label xml:lang="en">capacity people</rdfs:label> + <rdfs:comment xml:lang="en">Capacity of the transportation element measured in numbers of person.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#patternType"> + <rdfs:label xml:lang="en">pattern type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the types of pattern (or shape of a tank that may be specified.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#mediaSource"> + <rdfs:label xml:lang="en">media source</rdfs:label> + <rdfs:comment xml:lang="en">Indicates media sources and corresponding names of ports (DistributionPort with FlowDirection=SINK and PredefinedType=AUDIOVISUAL) or aggregated audio/video components (AudioVisualAppliance).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#arrangement"> + <rdfs:label xml:lang="en">arrangement</rdfs:label> + <rdfs:comment xml:lang="en">Defines the basic flow arrangements for the heat exchanger: COUNTERFLOW: Counterflow heat exchanger arrangement. CROSSFLOW: Crossflow heat exchanger arrangement. PARALLELFLOW: Parallel flow heat exchanger arrangement. MULTIPASS: Multipass flow heat exchanger arrangement. OTHER: Other type of heat exchanger flow arrangement not defined above.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship defining the value of a certain property, e.g., energy or power</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#powerSource"> + <rdfs:label xml:lang="en">power source</rdfs:label> + <rdfs:comment xml:lang="en">Type of power driving the compressor.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#frameSize"> + <rdfs:label xml:lang="en">frame size</rdfs:label> + <rdfs:comment xml:lang="en">Designation of the frame size according to the named range of frame sizes designated at the place of use or according to a given standard.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#shadingDeviceType"> + <rdfs:label xml:lang="en">shading device type</rdfs:label> + <rdfs:comment xml:lang="en">Specifies the type of shading device.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControlType"> + <rdfs:label xml:lang="en">capacity control type</rdfs:label> + <rdfs:comment xml:lang="en">InletVane: Control by adjusting inlet vane. VariableSpeedDrive: Control by variable speed drive. BladePitchAngle: Control by adjusting blade pitch angle. TwoSpeed: Control by switch between high and low speed. DischargeDamper: Control by modulating discharge damper.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#controlStrategy"> + <rdfs:label xml:lang="en">control strategy</rdfs:label> + <rdfs:comment xml:lang="en">FixedExitingWaterTemp: The capacity is controlled to maintain a fixed exiting water temperature. WetBulbTempReset: The set-point is reset based on the wet-bulb temperature.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#fireExit"> + <rdfs:label xml:lang="en">fire exit</rdfs:label> + <rdfs:comment xml:lang="en">Indication whether this object is designed to serve as an exit in the case of fire (TRUE) or not (FALSE). Here whether the transport element (in case of e.g., a lift) is designed to serve as a fire exit, e.g., for fire escape purposes.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfBlades"> + <rdfs:label xml:lang="en">number of blades</rdfs:label> + <rdfs:comment xml:lang="en">Number of blades.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#orientation"> + <rdfs:label xml:lang="en">orientation</rdfs:label> + <rdfs:comment xml:lang="en">The intended orientation for the damper as specified by the manufacturer.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorDriveType"> + <rdfs:label xml:lang="en">motor drive type</rdfs:label> + <rdfs:comment xml:lang="en">Motor drive type: DIRECTDRIVE: Direct drive. BELTDRIVE: Belt drive. COUPLING: Coupling. OTHER: Other type of motor drive. UNKNOWN: Unknown motor drive type. </rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfRows"> + <rdfs:label xml:lang="en">number of rows</rdfs:label> + <rdfs:comment xml:lang="en">Number of tube rows in the tube bundle assembly.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#energySource"> + <rdfs:label xml:lang="en">energy source</rdfs:label> + <rdfs:comment xml:lang="en">The source of energy.</rdfs:comment> + <rdfs:comment xml:lang="en">Enumeration defining the energy source or fuel cumbusted to generate heat.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveOperation"> + <rdfs:label xml:lang="en">valve operation</rdfs:label> + <rdfs:comment xml:lang="en">The method of valve operation where: DROPWEIGHT: A valve that is closed by the action of a weighted lever being released, the weight normally being prevented from dropping by being held by a wire, the closure normally being made by the action of heat on a fusible link in the wire FLOAT: A valve that is opened and closed by the action of a float that rises and falls with water level. The float may be a ball attached to a lever or other mechanism HYDRAULIC: A valve that is opened and closed by hydraulic actuation LEVER: A valve that is opened and closed by the action of a lever rotating the gate within the valve. LOCKSHIELD: A valve that requires the use of a special lockshield key for opening and closing, the operating mechanism being protected by a shroud during normal operation. MOTORIZED: A valve that is opened and closed by the action of an electric motor on an actuator PNEUMATIC: A valve that is opened and closed by pneumatic actuation SOLENOID: A valve that is normally held open by a magnetic field in a coil acting on the gate but that is closed immediately if the electrical current generating the magnetic field is removed. SPRING: A valve that is normally held in position by the pressure of a spring on a plate but that may be caused to open if the pressure of the fluid is sufficient to overcome the spring pressure. THERMOSTATIC: A valve in which the ports are opened or closed to maintain a required predetermined temperature. WHEEL: A valve that is opened and closed by the action of a wheel moving the gate within the valve.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#failPosition"> + <rdfs:label xml:lang="en">fail position</rdfs:label> + <rdfs:comment xml:lang="en">Specifies the required fail-safe position of the actuator.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isWaterStorageHeater"> + <rdfs:label xml:lang="en">is water storage heater</rdfs:label> + <rdfs:comment xml:lang="en">This is used to identify if the boiler has storage capacity (TRUE). If FALSE, then there is no storage capacity built into the boiler, such as an instantaneous hot water heater.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampCompensationType"> + <rdfs:label xml:lang="en">lamp compensation type</rdfs:label> + <rdfs:comment xml:lang="en">Identifies the form of compensation used for power factor correction and radio suppression.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#internalControl"> + <rdfs:label xml:lang="en">internal control</rdfs:label> + <rdfs:comment xml:lang="en">Internal modulation control.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#temperatureClassification"> + <rdfs:label xml:lang="en">temperature classification</rdfs:label> + <rdfs:comment xml:lang="en">Enumeration defining the temperature classification of the space heater surface temperature. low temperature - surface temperature is relatively low, usually heated by hot water or electricity. high temperature - surface temperature is relatively high, usually heated by gas or steam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#valveMechanism"> + <rdfs:label xml:lang="en">valve mechanism</rdfs:label> + <rdfs:comment xml:lang="en">The mechanism by which the valve function is achieved where: BALL: Valve that has a ported ball that can be turned relative to the body seat ports. BUTTERFLY: Valve in which a streamlined disc pivots about a diametric axis. CONFIGUREDGATE: Screwdown valve in which the closing gate is shaped in a configured manner to have a more precise control of pressure and flow change across the valve. GLAND: Valve with a tapered seating, in which a rotatable plug is retained by means of a gland and gland packing. GLOBE: Screwdown valve that has a spherical body. LUBRICATEDPLUG: Plug valve in which a lubricant is injected under pressure between the plug face and the body. NEEDLE: Valve for regulating the flow in or from a pipe, in which a slender cone moves along the axis of flow to close against a fixed conical seat. PARALLELSLIDE: Screwdown valve that has a machined plate that slides in formed grooves to form a seal. PLUG: Valve that has a ported plug that can be turned relative to the body seat ports. WEDGEGATE: Screwdown valve that has a wedge shaped plate fitting into tapered guides to form a seal.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasLock"> + <rdfs:label xml:lang="en">has lock</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether a switching device has a key operated lock (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfPanels"> + <rdfs:label xml:lang="en">number of panels</rdfs:label> + <rdfs:comment xml:lang="en">Number of panels.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasPartWinding"> + <rdfs:label xml:lang="en">has part winding</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether the motor is single speed, i.e. has a single winding (= FALSE) or multi-speed i.e.has part winding (= TRUE) .</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#pipeConnectionEnum"> + <rdfs:label xml:lang="en">pipe connection enum</rdfs:label> + <rdfs:comment xml:lang="en">The manner in which the pipe connection is made to the cooled beam.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#capacityControl"> + <rdfs:label xml:lang="en">capacity control</rdfs:label> + <rdfs:comment xml:lang="en">FanCycling: Fan is cycled on and off to control duty. TwoSpeedFan: Fan is switched between low and high speed to control duty. VariableSpeedFan: Fan speed is varied to control duty. DampersControl: Dampers modulate the air flow to control duty. BypassValveControl: Bypass valve modulates the water flow to control duty. MultipleSeriesPumps: Turn on/off multiple series pump to control duty. TwoSpeedPump: Switch between high/low pump speed to control duty. VariableSpeedPump: vary pump speed to control duty.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#flowArrangement"> + <rdfs:label xml:lang="en">flow arrangement</rdfs:label> + <rdfs:comment xml:lang="en">CounterFlow: Air and water flow enter in different directions. CrossFlow: Air and water flow are perpendicular. ParallelFlow: air and water flow enter in same directions.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#switchFunction"> + <rdfs:label xml:lang="en">switch function</rdfs:label> + <rdfs:comment xml:lang="en">Indicates types of switches which differs in functionality.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfCircuits"> + <rdfs:label xml:lang="en">number of circuits</rdfs:label> + <rdfs:comment xml:lang="en">Number of parallel fluid tube circuits.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#storageType"> + <rdfs:label xml:lang="en">storage type</rdfs:label> + <rdfs:comment xml:lang="en">Defines the general material category intended to be stored.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isPluggableOutlet"> + <rdfs:label xml:lang="en">is pluggable outlet</rdfs:label> + <rdfs:comment xml:lang="en">Indication of whether the outlet accepts a loose plug connection (= TRUE) or whether it is directly connected (= FALSE) or whether the form of connection has not yet been determined (= UNKNOWN).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#sprayType"> + <rdfs:label xml:lang="en">spray type</rdfs:label> + <rdfs:comment xml:lang="en">SprayFilled: Water is sprayed into airflow. SplashTypeFill: water cascades over successive rows of splash bars. FilmTypeFill: water flows in a thin layer over closely spaced sheets.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeEdge"> + <rdfs:label xml:lang="en">blade edge</rdfs:label> + <rdfs:comment xml:lang="en">Blade edge.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#refrigerantClass"> + <rdfs:label xml:lang="en">refrigerant class</rdfs:label> + <rdfs:comment xml:lang="en">Refrigerant class used by the compressor. CFC: Chlorofluorocarbons. HCFC: Hydrochlorofluorocarbons. HFC: Hydrofluorocarbons.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#hasTurbulator"> + <rdfs:label xml:lang="en">has turbulator</rdfs:label> + <rdfs:comment xml:lang="en">TRUE if the tube has a turbulator, FALSE if it does not.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#lampBallastType"> + <rdfs:label xml:lang="en">lamp ballast type</rdfs:label> + <rdfs:comment xml:lang="en">The type of ballast used to stabilise gas discharge by limiting the current during operation and to deliver the necessary striking voltage for starting. Ballasts are needed to operate Discharge Lamps such as Fluorescent, Compact Fluorescent, High-pressure Mercury, Metal Halide and High-pressure Sodium Lamps. Magnetic ballasts are chokes which limit the current passing through a lamp connected in series on the principle of self-induction. The resultant current and power are decisive for the efficient operation of the lamp. A specially designed ballast is required for every type of lamp to comply with lamp rating in terms of Luminous Flux, Color Appearance and service life. The two types of magnetic ballasts for fluorescent lamps are KVG Conventional (EC-A series) and VVG Low-loss ballasts (EC-B series). Low-loss ballasts have a higher efficiency, which means reduced ballast losses and a lower thermal load. Electronic ballasts are used to run fluorescent lamps at high frequencies (approx. 35 - 40 kHz).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#legend"> + <rdfs:label xml:lang="en">legend</rdfs:label> + <rdfs:comment xml:lang="en">A text inscribed or applied to the switch as a legend to indicate purpose or function.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#motorEnclosureType"> + <rdfs:label xml:lang="en">motor enclosure type</rdfs:label> + <rdfs:comment xml:lang="en">A list of the available types of motor enclosure from which that required may be selected.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#remoteReading"> + <rdfs:label xml:lang="en">remote reading</rdfs:label> + <rdfs:comment xml:lang="en">Indicates whether the meter has a connection for remote reading through connection of a communication device (set TRUE) or not (set FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isIlluminated"> + <rdfs:label xml:lang="en">is illuminated</rdfs:label> + <rdfs:comment xml:lang="en">An indication of whether there is an illuminated indicator to show that the switch is on (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#bladeAction"> + <rdfs:label xml:lang="en">blade action</rdfs:label> + <rdfs:comment xml:lang="en">Blade action.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#numberOfGangs"> + <rdfs:label xml:lang="en">number of gangs</rdfs:label> + <rdfs:comment xml:lang="en">Number of gangs/buttons on this switch.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#isNeutralPrimaryTerminalAvailable"> + <rdfs:label xml:lang="en">is neutral primary terminal available</rdfs:label> + <rdfs:comment xml:lang="en">An indication of whether the neutral point of the primary winding is available as a terminal (=TRUE) or not (= FALSE).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4bldg#secondaryCurrentType"> + <rdfs:label xml:lang="en">secondary current type</rdfs:label> + <rdfs:comment xml:lang="en">A list of the secondary current types that can result from transformer output.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#contains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical space and the objects located in such space.</rdfs:comment> + <owl:inverseOf> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isContainedIn"/> + </owl:inverseOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#hasSpace"> + <rdfs:label xml:lang="en">has space</rdfs:label> + <rdfs:comment xml:lang="en">Relation between a building or a building space and the spaces it can be divided into.</rdfs:comment> + <owl:inverseOf> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isSpaceOf"/> + </owl:inverseOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isSpaceOf"> + <rdfs:label xml:lang="en">isSpaceOf</rdfs:label> + <rdfs:comment xml:lang="en">Relation between a building space and the building or building space it belongs to.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4bldg#isContainedIn"> + <rdfs:label xml:lang="en">is contained in</rdfs:label> + <rdfs:comment xml:lang="en">A relation between an object and the physical space in which it is located.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/rightsHolder"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/dateCopyrighted"/> + <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#hadPrimarySource"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.ttl b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.ttl new file mode 100644 index 0000000000000000000000000000000000000000..9842012381e2d9249af521b985f57d6896825176 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4bldg/v1.1.1/saref4bldg.ttl @@ -0,0 +1,4248 @@ +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@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 prov: <http://www.w3.org/ns/prov#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix saref: <https://w3id.org/saref#> . +@prefix dcterms: <http://purl.org/dc/terms/> . + +<https://saref.etsi.org/saref4bldg#> a owl:Ontology ; + dcterms:title "SAREF extension for building devices"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4bldg/v1.1.1/saref4bldg#> ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4bldg#" ; + vann:preferredNamespacePrefix "s4bldg" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341003/01.01.01_60/ts_10341003v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4bldg/> ; + dcterms:description "This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation."@en ; + dcterms:publisher <https://www.etsi.org/> . + +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://purl.org/dc/terms/creator + +dcterms:creator a owl:AnnotationProperty . +# +# http://purl.org/dc/terms/dateCopyrighted + +dcterms:dateCopyrighted a owl:AnnotationProperty . +# +# http://purl.org/dc/terms/rightsHolder + +dcterms:rightsHolder a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespacePrefix + +vann:preferredNamespacePrefix a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespaceUri + +vann:preferredNamespaceUri a owl:AnnotationProperty . +# +# http://www.w3.org/ns/prov#hadPrimarySource + +prov:hadPrimarySource a owl:AnnotationProperty . +# +# +# +# ################################################################# +# # +# # Datatypes +# # +# ################################################################# +# +# +# http://www.w3.org/2001/XMLSchema#duration + +xsd:duration a rdfs:Datatype . +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +<http://www.w3.org/2003/01/geo/wgs84_pos#location> a owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "location"@en . +# +# https://saref.etsi.org/saref4bldg#airFlowRateMax + +s4bldg:airFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Maximum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range max"@en . +# +# https://saref.etsi.org/saref4bldg#airFlowRateMin + +s4bldg:airFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Minimum allowable air flow rate. Usually measured in m3/s."@en ; + rdfs:label "air flow rate range min"@en . +# +# https://saref.etsi.org/saref4bldg#ambientDesignDryBulbTemperature + +s4bldg:ambientDesignDryBulbTemperature a owl:ObjectProperty ; + rdfs:comment "Ambient design dry bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design dry bulb temperature"@en . +# +# https://saref.etsi.org/saref4bldg#ambientDesignWetBulbTemperature + +s4bldg:ambientDesignWetBulbTemperature a owl:ObjectProperty ; + rdfs:comment "Ambient design wet bulb temperature used for selecting the cooling tower. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "ambient design wet bulb temperature"@en . +# +# https://saref.etsi.org/saref4bldg#apparentPowerMax + +s4bldg:apparentPowerMax a owl:ObjectProperty ; + rdfs:comment "Maximum apparent power/capacity in VA (volt ampere). Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum apparent power"@en . +# +# https://saref.etsi.org/saref4bldg#audioVolume + +s4bldg:audioVolume a owl:ObjectProperty ; + rdfs:comment "Indicates discrete audio volume levels and corresponding sound power offsets, if applicable. Missing values may be interpolated. Measured in watts."@en ; + rdfs:label "audio volume"@en . +# +# https://saref.etsi.org/saref4bldg#basinReserveVolume + +s4bldg:basinReserveVolume a owl:ObjectProperty ; + rdfs:comment "Volume between operating and overflow levels in cooling tower basin. Usually measured in cubic metre (m3)."@en ; + rdfs:label "basin reserve volume"@en . +# +# https://saref.etsi.org/saref4bldg#bladeThickness + +s4bldg:bladeThickness a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper blade. Usually measured in millimeters (mm)."@en ; + rdfs:label "blade thickness"@en . +# +# https://saref.etsi.org/saref4bldg#bodyMass + +s4bldg:bodyMass a owl:ObjectProperty ; + rdfs:comment "Overall body mass of the heater. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "body mass"@en . +# +# https://saref.etsi.org/saref4bldg#capacityWeight + +s4bldg:capacityWeight a owl:ObjectProperty ; + rdfs:comment "Capacity of the transport element measured by weight. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "capacity weight"@en . +# +# https://saref.etsi.org/saref4bldg#closeOffRating + +s4bldg:closeOffRating a owl:ObjectProperty ; + rdfs:comment "Close off rating. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "close off rating"@en . +# +# https://saref.etsi.org/saref4bldg#coilLength + +s4bldg:coilLength a owl:ObjectProperty ; + rdfs:comment "Length of coil. Usually measured in millimeters (mm)."@en ; + rdfs:label "coil length"@en . +# +# https://saref.etsi.org/saref4bldg#coilWidth + +s4bldg:coilWidth a owl:ObjectProperty ; + rdfs:comment "Width of coil. Usually measured in millimeters (mm"@en ; + rdfs:label "coil width"@en . +# +# https://saref.etsi.org/saref4bldg#colorTemperature + +s4bldg:colorTemperature a owl:ObjectProperty ; + rdfs:comment "The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "color temperature"@en . +# +# https://saref.etsi.org/saref4bldg#compressorSpeed + +s4bldg:compressorSpeed a owl:ObjectProperty ; + rdfs:comment "Compressor speed. Usually measured in cycles/s."@en ; + rdfs:label "compressor speed"@en . +# +# https://saref.etsi.org/saref4bldg#connectionSize + +s4bldg:connectionSize a owl:ObjectProperty ; + rdfs:comment "The connection size of the to and from the pump. Usually measured in millimeters (mm)."@en ; + rdfs:label "connection size"@en . +# +# https://saref.etsi.org/saref4bldg#contains + +s4bldg:contains a owl:ObjectProperty ; + owl:inverseOf s4bldg:isContainedIn ; + a owl:TransitiveProperty ; + rdfs:comment "A relation between a physical space and the objects located in such space."@en ; + rdfs:label "contains"@en . +# +# https://saref.etsi.org/saref4bldg#contributedLuminousFlux + +s4bldg:contributedLuminousFlux a owl:ObjectProperty ; + rdfs:comment "Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. Usually measured in Lumen (lm, Candela Steradian)."@en ; + rdfs:label "contributed luminous flux"@en . +# +# https://saref.etsi.org/saref4bldg#coverLength + +s4bldg:coverLength a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system or the radius (in the case of a circular shape in plan) of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover length"@en . +# +# https://saref.etsi.org/saref4bldg#coverWidth + +s4bldg:coverWidth a owl:ObjectProperty ; + rdfs:comment "The length measured along the x-axis in the local coordinate system of the cover of the oil interceptor. Usually measured in millimeters (mm)."@en ; + rdfs:label "cover width"@en . +# +# https://saref.etsi.org/saref4bldg#effectiveCapacity + +s4bldg:effectiveCapacity a owl:ObjectProperty ; + rdfs:comment "The total effective or actual volumetric capacity of the tank. Usually measured in cubic metre (m3).B3"@en ; + rdfs:label "effective capacity"@en . +# +# https://saref.etsi.org/saref4bldg#electricGeneratorEfficiency + +s4bldg:electricGeneratorEfficiency a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric generator efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#electricMotorEfficiency + +s4bldg:electricMotorEfficiency a owl:ObjectProperty ; + rdfs:comment "The ratio of output capacity to intake capacity."@en ; + rdfs:label "electric motor efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#externalSurfaceArea + +s4bldg:externalSurfaceArea a owl:ObjectProperty ; + rdfs:comment "External surface area (both primary and secondary area). Usually measured in square metre (m2)."@en ; + rdfs:label "external surface area"@en . +# +# https://saref.etsi.org/saref4bldg#faceArea + +s4bldg:faceArea a owl:ObjectProperty ; + rdfs:comment "Face area open to the airstream. Usually measured in square metre (m2)."@en ; + rdfs:label "face area"@en . +# +# https://saref.etsi.org/saref4bldg#finalResistance + +s4bldg:finalResistance a owl:ObjectProperty ; + rdfs:comment "Filter fluid resistance when replacement is required (i.e., Pressure drop at the maximum air flowrate across the filter when the filter needs replacement per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "final resistance"@en . +# +# https://saref.etsi.org/saref4bldg#firstCurvatureRadius + +s4bldg:firstCurvatureRadius a owl:ObjectProperty ; + rdfs:comment "FirstCurvatureRadius should be defined as the base or left side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "first curvature radius"@en . +# +# https://saref.etsi.org/saref4bldg#flowCoefficient + +s4bldg:flowCoefficient a owl:ObjectProperty ; + rdfs:comment "Flow coefficient (the quantity of fluid that passes through a fully open valve at unit pressure drop), typically expressed as the Kv or Cv value for the valve."@en ; + rdfs:label "flow coefficient"@en . +# +# https://saref.etsi.org/saref4bldg#flowResistanceMax + +s4bldg:flowResistanceMax a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . +# +# https://saref.etsi.org/saref4bldg#flowResistanceMin + +s4bldg:flowResistanceMin a owl:ObjectProperty ; + rdfs:comment "Allowable range of frictional resistance against which the fluid is being pumped. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "flow resistance range"@en . +# +# https://saref.etsi.org/saref4bldg#fluidFlowRateMax + +s4bldg:fluidFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#fluidFlowRateMin + +s4bldg:fluidFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Possible range of fluid flowrate that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "fluid flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#foulingFactor + +s4bldg:foulingFactor a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "fouling factor"@en . +# +# https://saref.etsi.org/saref4bldg#frameDepth + +s4bldg:frameDepth a owl:ObjectProperty ; + rdfs:comment "The length (or depth) of the damper frame. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame depth"@en . +# +# https://saref.etsi.org/saref4bldg#frameThickness + +s4bldg:frameThickness a owl:ObjectProperty ; + rdfs:comment "The thickness of the damper frame material. Usually measured in millimeters (mm)."@en ; + rdfs:label "frame thickness"@en . +# +# https://saref.etsi.org/saref4bldg#hasSpace + +s4bldg:hasSpace a owl:ObjectProperty ; + owl:inverseOf s4bldg:isSpaceOf ; + a owl:TransitiveProperty ; + rdfs:comment "Relation between a building or a building space and the spaces it can be divided into."@en ; + rdfs:label "has space"@en . +# +# https://saref.etsi.org/saref4bldg#heatExchangeArea + +s4bldg:heatExchangeArea a owl:ObjectProperty ; + rdfs:comment "Heat exchange area. Usually measured in square metre (m2)."@en ; + rdfs:label "heat exchange area"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferSurfaceArea + +s4bldg:heatTransferSurfaceArea a owl:ObjectProperty ; + rdfs:comment "Total heat transfer area of the vessel. Usually measured in square metre (m2)."@en ; + rdfs:label "heat transfer surface area"@en . +# +# https://saref.etsi.org/saref4bldg#height + +s4bldg:height a owl:ObjectProperty ; + rdfs:comment "Height of the vibration isolator before tha application of load. Usually measured in millimeters (mm)."@en ; + rdfs:label "height"@en . +# +# https://saref.etsi.org/saref4bldg#horizontalSpacing + +s4bldg:horizontalSpacing a owl:ObjectProperty ; + rdfs:comment "Horizontal spacing between tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "horizontal spacing"@en . +# +# https://saref.etsi.org/saref4bldg#hydraulicDiameter + +s4bldg:hydraulicDiameter a owl:ObjectProperty ; + rdfs:comment "Hydraulic diameter. Usually measured in millimeters (mm)."@en ; + rdfs:label "hydraulic diameter"@en . +# +# https://saref.etsi.org/saref4bldg#idealCapacity + +s4bldg:idealCapacity a owl:ObjectProperty ; + rdfs:comment "Compressor capacity under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal capacity"@en . +# +# https://saref.etsi.org/saref4bldg#idealShaftPower + +s4bldg:idealShaftPower a owl:ObjectProperty ; + rdfs:comment "Compressor shaft power under ideal conditions. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "ideal shaft power"@en . +# +# https://saref.etsi.org/saref4bldg#imaginaryImpedanceRatio + +s4bldg:imaginaryImpedanceRatio a owl:ObjectProperty ; + rdfs:comment "The ratio between the imaginary part of the zero sequence impedance and the imaginary part of the positive impedance (i.e. imaginary part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "imaginary impedance ratio"@en . +# +# https://saref.etsi.org/saref4bldg#impellerDiameter + +s4bldg:impellerDiameter a owl:ObjectProperty ; + rdfs:comment "Diameter of compressor impeller - used to scale performance of geometrically similar compressors. Usually measured in millimeters (mm)."@en ; + rdfs:label "impeller diameter"@en . +# +# https://saref.etsi.org/saref4bldg#inLineRowSpacing + +s4bldg:inLineRowSpacing a owl:ObjectProperty ; + rdfs:comment "In-line tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "in line row spacing"@en . +# +# https://saref.etsi.org/saref4bldg#initialResistance + +s4bldg:initialResistance a owl:ObjectProperty ; + rdfs:comment "Initial new filter fluid resistance (i.e., pressure drop at the maximum air flowrate across the filter when the filter is new per ASHRAE Standard 52.1). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "initial resistance"@en . +# +# https://saref.etsi.org/saref4bldg#inletConnectionSize + +s4bldg:inletConnectionSize a owl:ObjectProperty ; + rdfs:comment "Size of the inlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "inlet connection size"@en . +# +# https://saref.etsi.org/saref4bldg#insideDiameter + +s4bldg:insideDiameter a owl:ObjectProperty ; + rdfs:comment "Actual inner diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "inside diameter"@en . +# +# https://saref.etsi.org/saref4bldg#internalRefrigerantVolume + +s4bldg:internalRefrigerantVolume a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (refrigerant side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal refrigerant volume"@en . +# +# https://saref.etsi.org/saref4bldg#internalSurfaceArea + +s4bldg:internalSurfaceArea a owl:ObjectProperty ; + rdfs:comment "Internal surface area. Usually measured in square metre (m2)."@en ; + rdfs:label "internal surface area"@en . +# +# https://saref.etsi.org/saref4bldg#internalWaterVolume + +s4bldg:internalWaterVolume a owl:ObjectProperty ; + rdfs:comment "Internal volume of evaporator (water side). Usually measured in cubic metre (m3)."@en ; + rdfs:label "internal water volume"@en . +# +# https://saref.etsi.org/saref4bldg#isContainedIn + +s4bldg:isContainedIn a owl:ObjectProperty , owl:TransitiveProperty ; + rdfs:comment "A relation between an object and the physical space in which it is located."@en ; + rdfs:label "is contained in"@en . +# +# https://saref.etsi.org/saref4bldg#isSpaceOf + +s4bldg:isSpaceOf a owl:ObjectProperty , owl:TransitiveProperty ; + rdfs:comment "Relation between a building space and the building or building space it belongs to."@en ; + rdfs:label "isSpaceOf"@en . +# +# https://saref.etsi.org/saref4bldg#isolatorCompressibility + +s4bldg:isolatorCompressibility a owl:ObjectProperty ; + rdfs:comment "The compressibility of the vibration isolator."@en ; + rdfs:label "isolator compressibility"@en . +# +# https://saref.etsi.org/saref4bldg#isolatorStaticDeflection + +s4bldg:isolatorStaticDeflection a owl:ObjectProperty ; + rdfs:comment "Static deflection of the vibration isolator. Usually measured in millimeters (mm)."@en ; + rdfs:label "isolator static deflection"@en . +# +# https://saref.etsi.org/saref4bldg#lampMaintenanceFactor + +s4bldg:lampMaintenanceFactor a owl:ObjectProperty ; + rdfs:comment "Non recoverable losses of luminous flux of a lamp due to lamp depreciation i.e. the decreasing of light output of a luminaire due to aging and dirt."@en ; + rdfs:label "lamp maintenance factor"@en . +# +# https://saref.etsi.org/saref4bldg#leakageFullyClosed + +s4bldg:leakageFullyClosed a owl:ObjectProperty ; + rdfs:comment "Leakage when fully closed. Usually measured in m3/s."@en ; + rdfs:label "leakage fully closed"@en . +# +# https://saref.etsi.org/saref4bldg#length + +s4bldg:length a owl:ObjectProperty ; + rdfs:comment "The finished length of the device. Usually measured in millimeters (mm)."@en ; + rdfs:label "length"@en . +# +# https://saref.etsi.org/saref4bldg#liftElevationDifference + +s4bldg:liftElevationDifference a owl:ObjectProperty ; + rdfs:comment "Elevation difference between cooling tower sump and the top of the tower. Usually measured in millimeters (mm)."@en ; + rdfs:label "lift elevation difference"@en . +# +# https://saref.etsi.org/saref4bldg#lightEmitterNominalPower + +s4bldg:lightEmitterNominalPower a owl:ObjectProperty ; + rdfs:comment "Light emitter nominal power. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "light emitter nominal power"@en . +# +# https://saref.etsi.org/saref4bldg#limitingTerminalSize + +s4bldg:limitingTerminalSize a owl:ObjectProperty ; + rdfs:comment "The maximum terminal size capacity of the device. Usually measured in square metre (m2)."@en ; + rdfs:label "limiting terminal size"@en . +# +# https://saref.etsi.org/saref4bldg#lockedRotorCurrent + +s4bldg:lockedRotorCurrent a owl:ObjectProperty ; + rdfs:comment "Input current when a motor armature is energized but not rotating. Usually measured in Ampere (A)."@en ; + rdfs:label "locked rotor current"@en . +# +# https://saref.etsi.org/saref4bldg#netPositiveSuctionHead + +s4bldg:netPositiveSuctionHead a owl:ObjectProperty ; + rdfs:comment "Minimum liquid pressure at the pump inlet to prevent cavitation. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "net positive suction head"@en . +# +# https://saref.etsi.org/saref4bldg#nominalAirFlowRate + +s4bldg:nominalAirFlowRate a owl:ObjectProperty ; + rdfs:comment "Nominal rate of air flow. Usually measured in m3/s."@en ; + rdfs:label "nominal air flow rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalBodyDepth + +s4bldg:nominalBodyDepth a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted =length, measured along the z-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body depth"@en . +# +# https://saref.etsi.org/saref4bldg#nominalBodyLength + +s4bldg:nominalBodyLength a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the x-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body length"@en . +# +# https://saref.etsi.org/saref4bldg#nominalBodyWidth + +s4bldg:nominalBodyWidth a owl:ObjectProperty ; + rdfs:comment "Nominal or quoted length, measured along the y-axis of the local coordinate system of the object, of the body of the object. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal body width"@en . +# +# https://saref.etsi.org/saref4bldg#nominalCapacity + +s4bldg:nominalCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalCondensingTemperature + +s4bldg:nominalCondensingTemperature a owl:ObjectProperty ; + rdfs:comment "Chiller condensing temperature. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal condensing temperature"@en . +# +# https://saref.etsi.org/saref4bldg#nominalCoolingCapacity + +s4bldg:nominalCoolingCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal cooling capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal cooling capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalDepth + +s4bldg:nominalDepth a owl:ObjectProperty ; + rdfs:comment "The nominal depth of the tank. Note: Not required for a horizontal cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal depth"@en . +# +# https://saref.etsi.org/saref4bldg#nominalDiameter + +s4bldg:nominalDiameter a owl:ObjectProperty ; + rdfs:comment "Nominal diameter or width of the tubes in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nominalEfficiency + +s4bldg:nominalEfficiency a owl:ObjectProperty ; + rdfs:comment "Nominal chiller efficiency under nominal conditions. "@en ; + rdfs:label "nominal efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#nominalEnergyConsumption + +s4bldg:nominalEnergyConsumption a owl:ObjectProperty ; + rdfs:comment "Nominal fuel consumption rate required to produce the total boiler heat output. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal energy consumption"@en . +# +# https://saref.etsi.org/saref4bldg#nominalEvaporatingTemmperature + +s4bldg:nominalEvaporatingTemmperature a owl:ObjectProperty ; + rdfs:comment "Chiller evaporating temperature.Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal evaporating temmperature"@en . +# +# https://saref.etsi.org/saref4bldg#nominalFilterFaceVelocity + +s4bldg:nominalFilterFaceVelocity a owl:ObjectProperty ; + rdfs:comment "Filter face velocity. Usually measured in m/s."@en ; + rdfs:label "nominal filter face velocity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalFlowRate + +s4bldg:nominalFlowRate a owl:ObjectProperty ; + rdfs:comment "Nominal fluid flow rate through the filter. Usually measured in m3/s."@en ; + rdfs:label "nominal flow rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalFrequency + +s4bldg:nominalFrequency a owl:ObjectProperty ; + rdfs:comment "The nominal frequency of the supply. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "nominal frequency"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatRejectionRate + +s4bldg:nominalHeatRejectionRate a owl:ObjectProperty ; + rdfs:comment "Sum of the refrigeration effect and the heat equivalent of the power input to the compressor. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heat rejection rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatTransferArea + +s4bldg:nominalHeatTransferArea a owl:ObjectProperty ; + rdfs:comment "Nominal heat transfer surface area associated with nominal overall heat transfer coefficient. Usually measured in square metre (m2)."@en ; + rdfs:label "nominal heat transfer area"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatTransferCoefficient + +s4bldg:nominalHeatTransferCoefficient a owl:ObjectProperty ; + rdfs:comment "Nominal overall heat transfer coefficient associated with nominal heat transfer area. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "nominal heat transfer coefficient"@en . +# +# https://saref.etsi.org/saref4bldg#nominalHeatingCapacity + +s4bldg:nominalHeatingCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal heating capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal heating capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalLatentCapacity + +s4bldg:nominalLatentCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal latent capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal latent capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalLengthOrDiameter + +s4bldg:nominalLengthOrDiameter a owl:ObjectProperty ; + rdfs:comment "The nominal length or, in the case of a vertical cylindrical tank, the nominal diameter of the tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal length or diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nominalMediaSurfaceVelocity + +s4bldg:nominalMediaSurfaceVelocity a owl:ObjectProperty ; + rdfs:comment "Average fluid velocity at the media surface. Usually measured in m/s."@en ; + rdfs:label "nominal media surface velocity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalMoistureGain + +s4bldg:nominalMoistureGain a owl:ObjectProperty ; + rdfs:comment "Nominal rate of water vapor added into the airstream. Usually measured in kg/s."@en ; + rdfs:label "nominal moisture gain"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPartLoadRatio + +s4bldg:nominalPartLoadRatio a owl:ObjectProperty ; + rdfs:comment "Allowable part load ratio range."@en ; + rdfs:label "nominal part load ratio"@en . +# +# https://saref.etsi.org/saref4bldg#nominalParticleGeometricMeanDiameter + +s4bldg:nominalParticleGeometricMeanDiameter a owl:ObjectProperty ; + rdfs:comment "Particle geometric mean diameter associated with nominal efficiency. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal particle geometric mean diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nominalParticleGeometricStandardDeviation + +s4bldg:nominalParticleGeometricStandardDeviation a owl:ObjectProperty ; + rdfs:comment "Particle geometric standard deviation associated with nominal efficiency. "@en ; + rdfs:label "nominal particle geometric standard deviation"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPowerConsumption + +s4bldg:nominalPowerConsumption a owl:ObjectProperty ; + rdfs:comment "Nominal total power consumption. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power consumption"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPowerRate + +s4bldg:nominalPowerRate a owl:ObjectProperty ; + rdfs:comment "Nominal fan power rate.Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal power rate"@en . +# +# https://saref.etsi.org/saref4bldg#nominalPressureDrop + +s4bldg:nominalPressureDrop a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across the filter. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal pressure drop"@en . +# +# https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureCooling + +s4bldg:nominalReturnWaterTemperatureCooling a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalReturnWaterTemperatureHeating + +s4bldg:nominalReturnWaterTemperatureHeating a owl:ObjectProperty ; + rdfs:comment "Nominal return water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal return water temperature heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalRotationSpeed + +s4bldg:nominalRotationSpeed a owl:ObjectProperty ; + rdfs:comment "Nominal fan wheel speed. Usually measured in cycles/s."@en ; + rdfs:label "nominal rotation speed"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSensibleCapacity + +s4bldg:nominalSensibleCapacity a owl:ObjectProperty ; + rdfs:comment "Nominal sensible capacity. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "nominal sensible capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSorroundingHumidityCooling + +s4bldg:nominalSorroundingHumidityCooling a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding humidity (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding humidity cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureCooling + +s4bldg:nominalSorroundingTemperatureCooling a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSorroundingTemperatureHeating + +s4bldg:nominalSorroundingTemperatureHeating a owl:ObjectProperty ; + rdfs:comment "Nominal surrounding temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal sorrounding temperature heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalStaticPressure + +s4bldg:nominalStaticPressure a owl:ObjectProperty ; + rdfs:comment "The static pressure within the air stream that the fan must overcome to insure designed circulation of air. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal static pressure"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyVoltage + +s4bldg:nominalSupplyVoltage a owl:ObjectProperty ; + rdfs:comment "The nominal voltage of the supply. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "nominal supply voltage"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMax + +s4bldg:nominalSupplyVoltageMax a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyVoltageMin + +s4bldg:nominalSupplyVoltageMin a owl:ObjectProperty ; + rdfs:comment "The maximum and minimum allowed voltage of the supply e.g. boundaries of 380V/440V may be applied for a nominal voltage of 400V."@en ; + rdfs:label "nominal supply voltage offset"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureCooling + +s4bldg:nominalSupplyWaterTemperatureCooling a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal cooling capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalSupplyWaterTemperatureHeating + +s4bldg:nominalSupplyWaterTemperatureHeating a owl:ObjectProperty ; + rdfs:comment "Nominal supply water temperature (refers to nominal heating capacity). Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "nominal supply water temperature heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalTotalPressure + +s4bldg:nominalTotalPressure a owl:ObjectProperty ; + rdfs:comment "Nominal total pressure rise across the fan. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "nominal total pressure"@en . +# +# https://saref.etsi.org/saref4bldg#nominalUa + +s4bldg:nominalUa a owl:ObjectProperty ; + rdfs:comment "Nominal UA value."@en ; + rdfs:label "nominal ua"@en . +# +# https://saref.etsi.org/saref4bldg#nominalVolumetricCapacity + +s4bldg:nominalVolumetricCapacity a owl:ObjectProperty ; + rdfs:comment "The total nominal or design volumetric capacity of the tank. Usually measured in cubic metre (m3)."@en ; + rdfs:label "nominal volumetric capacity"@en . +# +# https://saref.etsi.org/saref4bldg#nominalWaterFlowCooling + +s4bldg:nominalWaterFlowCooling a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal cooling capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow cooling"@en . +# +# https://saref.etsi.org/saref4bldg#nominalWaterFlowHeating + +s4bldg:nominalWaterFlowHeating a owl:ObjectProperty ; + rdfs:comment "Nominal water flow (refers to nominal heating capacity). Usually measured in m3/s."@en ; + rdfs:label "nominal water flow heating"@en . +# +# https://saref.etsi.org/saref4bldg#nominalWidthOrDiameter + +s4bldg:nominalWidthOrDiameter a owl:ObjectProperty ; + rdfs:comment "The nominal width or, in the case of a horizontal cylindrical tank, the nominal diameter of the tank. Note: Not required for a vertical cylindrical tank. Usually measured in millimeters (mm)."@en ; + rdfs:label "nominal width or diameter"@en . +# +# https://saref.etsi.org/saref4bldg#nomminalRotationSpeed + +s4bldg:nomminalRotationSpeed a owl:ObjectProperty ; + rdfs:comment "Pump rotational speed under nominal conditions. Usually measured in cycles/s."@en ; + rdfs:label "nomminal rotation speed"@en . +# +# https://saref.etsi.org/saref4bldg#openPressureDrop + +s4bldg:openPressureDrop a owl:ObjectProperty ; + rdfs:comment "Total pressure drop across damper. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "open pressure drop"@en . +# +# https://saref.etsi.org/saref4bldg#operatingWeight + +s4bldg:operatingWeight a owl:ObjectProperty ; + rdfs:comment "Operating weight of the tank including all of its contents. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "operating weight"@en . +# +# https://saref.etsi.org/saref4bldg#operationTemperatureMax + +s4bldg:operationTemperatureMax a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#operationTemperatureMin + +s4bldg:operationTemperatureMin a owl:ObjectProperty ; + rdfs:comment "Allowable operation ambient (air, fluid) temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "operation temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#operationalRiterial + +s4bldg:operationalRiterial a owl:ObjectProperty ; + rdfs:comment "Time of operation at maximum operational ambient air temperature. Measured in seconds (s) or days (d) or other units of time."@en ; + rdfs:label "operational riterial"@en . +# +# https://saref.etsi.org/saref4bldg#outletConnectionSize + +s4bldg:outletConnectionSize a owl:ObjectProperty ; + rdfs:comment "Size of the outlet connection. Usually measured in millimeters (mm)."@en ; + rdfs:label "outlet connection size"@en . +# +# https://saref.etsi.org/saref4bldg#outletTemperatureMax + +s4bldg:outletTemperatureMax a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#outletTemperatureMin + +s4bldg:outletTemperatureMin a owl:ObjectProperty ; + rdfs:comment "Allowable outlet temperature of either the water or the steam. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "outlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#outputCapacity + +s4bldg:outputCapacity a owl:ObjectProperty ; + rdfs:comment "Total nominal heat output as listed by the manufacturer. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "output capacity"@en . +# +# https://saref.etsi.org/saref4bldg#outsideDiameter + +s4bldg:outsideDiameter a owl:ObjectProperty ; + rdfs:comment "Actual outside diameter of the tube in the tube bundle. Usually measured in millimeters (mm)."@en ; + rdfs:label "outside diameter"@en . +# +# https://saref.etsi.org/saref4bldg#partLoadRatioMax + +s4bldg:partLoadRatioMax a owl:ObjectProperty ; + rdfs:comment "Maximum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "maximum part load ratio"@en . +# +# https://saref.etsi.org/saref4bldg#partLoadRatioMin + +s4bldg:partLoadRatioMin a owl:ObjectProperty ; + rdfs:comment "Minimum part load ratio as a fraction of nominal capacity."@en ; + rdfs:label "minimum part load ratio"@en . +# +# https://saref.etsi.org/saref4bldg#powerOutputMax + +s4bldg:powerOutputMax a owl:ObjectProperty ; + rdfs:comment "The maximum output power rating of the engine. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "maximum power output"@en . +# +# https://saref.etsi.org/saref4bldg#pressureRating + +s4bldg:pressureRating a owl:ObjectProperty ; + rdfs:comment "Nominal pressure rating of the boiler as rated by the agency having jurisdiction. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "pressure rating"@en . +# +# https://saref.etsi.org/saref4bldg#primaryAirFlowRateMax + +s4bldg:primaryAirFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Maximum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#primaryAirFlowRateMin + +s4bldg:primaryAirFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Minimum primary airflow that can be delivered. Usually measured in m3/s."@en ; + rdfs:label "primary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#primaryApparentPower + +s4bldg:primaryApparentPower a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and that runs into the transformer on the primary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "primary apparent power"@en . +# +# https://saref.etsi.org/saref4bldg#primaryCurrent + +s4bldg:primaryCurrent a owl:ObjectProperty ; + rdfs:comment "The current that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Ampere (A)."@en ; + rdfs:label "primary current"@en . +# +# https://saref.etsi.org/saref4bldg#primaryFrequency + +s4bldg:primaryFrequency a owl:ObjectProperty ; + rdfs:comment "The frequency that is going to be transformed and that runs into the transformer on the primary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "primary frequency"@en . +# +# https://saref.etsi.org/saref4bldg#primaryVoltage + +s4bldg:primaryVoltage a owl:ObjectProperty ; + rdfs:comment "The voltage that is going to be transformed and that runs into the transformer on the primary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "primary voltage"@en . +# +# https://saref.etsi.org/saref4bldg#pumpFlowRateMax + +s4bldg:pumpFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#pumpFlowRateMin + +s4bldg:pumpFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Allowable range of volume of fluid being pumped against the resistance specified. Usually measured in kg/s."@en ; + rdfs:label "pump flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#realImpedanceRatio + +s4bldg:realImpedanceRatio a owl:ObjectProperty ; + rdfs:comment "The ratio between the real part of the zero sequence impedance and the real part of the positive impedance (i.e. real part of the short-circuit voltage) of the transformer. Used for three-phase transformer which includes a N-conductor."@en ; + rdfs:label "real impedance ratio"@en . +# +# https://saref.etsi.org/saref4bldg#secondCurvatureRadius + +s4bldg:secondCurvatureRadius a owl:ObjectProperty ; + rdfs:comment "SecondCurvatureRadius should be defined as the top or right side radius of curvature value. Usually measured in millimeters (mm)."@en ; + rdfs:label "second curvature radius"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMax + +s4bldg:secondaryAirFlowRateMax a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryAirFlowRateMin + +s4bldg:secondaryAirFlowRateMin a owl:ObjectProperty ; + rdfs:comment "Maximum secondary airflow that can be delivered. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "secondary air flow rate range"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryApparentPower + +s4bldg:secondaryApparentPower a owl:ObjectProperty ; + rdfs:comment "The power in VA (volt ampere) that has been transformed and is running out of the transformer on the secondary side. Usually measured in Watts (W, J/s)."@en ; + rdfs:label "secondary apparent power"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryCurrent + +s4bldg:secondaryCurrent a owl:ObjectProperty ; + rdfs:comment "The current that has been transformed and is running out of the transformer on the secondary side. Usually measured in Ampere (A)."@en ; + rdfs:label "secondary current"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryFrequency + +s4bldg:secondaryFrequency a owl:ObjectProperty ; + rdfs:comment "The frequency that has been transformed and is running out of the transformer on the secondary side. Usually measured in cycles/s or Hertz (Hz)."@en ; + rdfs:label "secondary frequency"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryVoltage + +s4bldg:secondaryVoltage a owl:ObjectProperty ; + rdfs:comment "The voltage that has been transformed and is running out of the transformer on the secondary side. Usually measured in Volts (V, W/A)."@en ; + rdfs:label "secondary voltage"@en . +# +# https://saref.etsi.org/saref4bldg#shortCircuitVoltage + +s4bldg:shortCircuitVoltage a owl:ObjectProperty ; + rdfs:comment "A complex number that specifies the real and imaginary parts of the short-circuit voltage at rated current of a transformer given in %."@en ; + rdfs:label "short circuit voltage"@en . +# +# https://saref.etsi.org/saref4bldg#size + +s4bldg:size a owl:ObjectProperty ; + rdfs:comment "The size of the connection to the valve (or to each connection for faucets, mixing valves, etc.). Usually measured in millimeters (mm)."@en ; + rdfs:label "size"@en . +# +# https://saref.etsi.org/saref4bldg#solarReflectance + +s4bldg:solarReflectance a owl:ObjectProperty ; + rdfs:comment "(Rsol): The ratio of incident solar radiation that is reflected by a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar reflectance"@en . +# +# https://saref.etsi.org/saref4bldg#solarTransmittance + +s4bldg:solarTransmittance a owl:ObjectProperty ; + rdfs:comment "(Tsol) The ratio of incident solar radiation that directly passes through a shading system (also named _e). Note the following equation Asol + Rsol + Tsol = 1"@en ; + rdfs:label "solar transmittance"@en . +# +# https://saref.etsi.org/saref4bldg#spectrumMax + +s4bldg:spectrumMax a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "maximum spectrum"@en . +# +# https://saref.etsi.org/saref4bldg#spectrumMin + +s4bldg:spectrumMin a owl:ObjectProperty ; + rdfs:comment "The spectrum of radiation describes its composition with regard to wavelength. Light, for example, as the portion of electromagnetic radiation that is visible to the human eye, is radiation with wavelengths in the range of approx. 380 to 780 nm (1 nm = 10 m). The corresponding range of colours varies from violet to indigo, blue, green, yellow, orange, and red. These colours form a continuous spectrum, in which the various spectral sectors merge into each other."@en ; + rdfs:label "minimum spectrum"@en . +# +# https://saref.etsi.org/saref4bldg#staggeredRowSpacing + +s4bldg:staggeredRowSpacing a owl:ObjectProperty ; + rdfs:comment "Staggered tube row spacing. Usually measured in millimeters (mm)."@en ; + rdfs:label "staggered row spacing"@en . +# +# https://saref.etsi.org/saref4bldg#startCurrentFactor + +s4bldg:startCurrentFactor a owl:ObjectProperty ; + rdfs:comment "IEC. Start current factor defines how large the peek starting current will become on the engine. StartCurrentFactor is multiplied to NominalCurrent and we get the start current."@en ; + rdfs:label "start current factor"@en . +# +# https://saref.etsi.org/saref4bldg#startingTime + +s4bldg:startingTime a owl:ObjectProperty ; + rdfs:comment "The time (in s) needed for the motor to reach its rated speed with its driven equipment attached, starting from standstill and at the nominal voltage applied at its terminals."@en ; + rdfs:label "starting time"@en . +# +# https://saref.etsi.org/saref4bldg#supportedWeightMax + +s4bldg:supportedWeightMax a owl:ObjectProperty ; + rdfs:comment "The maximum weight that can be carried by the vibration isolator. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "maximum supported weight"@en . +# +# https://saref.etsi.org/saref4bldg#teTime + +s4bldg:teTime a owl:ObjectProperty ; + rdfs:comment "The maximum time (in s) at which the motor could run with locked rotor when the motor is used in an EX-environment. The time indicates that a protective device should trip before this time when the starting current of the motor is slowing through the device."@en ; + rdfs:label "te time"@en . +# +# https://saref.etsi.org/saref4bldg#temperatureRating + +s4bldg:temperatureRating a owl:ObjectProperty ; + rdfs:comment "Temperature rating. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "temperature rating"@en . +# +# https://saref.etsi.org/saref4bldg#testPressure + +s4bldg:testPressure a owl:ObjectProperty ; + rdfs:comment "The maximum pressure to which the valve has been subjected under test. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "test pressure"@en . +# +# https://saref.etsi.org/saref4bldg#thermalConductivity + +s4bldg:thermalConductivity a owl:ObjectProperty ; + rdfs:comment "Fouling factor of the tubes in the tube bundle. Usually measured in m2 Kelvin/Watt."@en ; + rdfs:label "thermal conductivity"@en . +# +# https://saref.etsi.org/saref4bldg#thermalEfficiency + +s4bldg:thermalEfficiency a owl:ObjectProperty ; + rdfs:comment "Overall Thermal Efficiency is defined as gross energy output of the heat transfer device divided by the energy input."@en ; + rdfs:label "thermal efficiency"@en . +# +# https://saref.etsi.org/saref4bldg#thermalMassHeatCapacity + +s4bldg:thermalMassHeatCapacity a owl:ObjectProperty ; + rdfs:comment "Product of component mass and specific heat."@en ; + rdfs:label "thermal mass heat capacity"@en . +# +# https://saref.etsi.org/saref4bldg#thermalTransmittance + +s4bldg:thermalTransmittance a owl:ObjectProperty ; + rdfs:comment "Rate at which energy is transmitted through a body. Usually measured in Watts/m2 Kelvin."@en ; + rdfs:label "thermal transmittance"@en . +# +# https://saref.etsi.org/saref4bldg#ventilatingPipeSize + +s4bldg:ventilatingPipeSize a owl:ObjectProperty ; + rdfs:comment "Size of the ventilating pipe(s). Usually measured in millimeters (mm)."@en ; + rdfs:label "ventilating pipe size"@en . +# +# https://saref.etsi.org/saref4bldg#verticalSpacing + +s4bldg:verticalSpacing a owl:ObjectProperty ; + rdfs:comment "Vertical spacing between tubes in the tube bundle.Usually measured in millimeters (mm)."@en ; + rdfs:label "vertical spacing"@en . +# +# https://saref.etsi.org/saref4bldg#vibrationTransmissibility + +s4bldg:vibrationTransmissibility a owl:ObjectProperty ; + rdfs:comment "The vibration transmissibility percentage."@en ; + rdfs:label "vibration transmissibility"@en . +# +# https://saref.etsi.org/saref4bldg#visibleLightReflectance + +s4bldg:visibleLightReflectance a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that is reflected by the glazing at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light reflectance"@en . +# +# https://saref.etsi.org/saref4bldg#visibleLightTransmittance + +s4bldg:visibleLightTransmittance a owl:ObjectProperty ; + rdfs:comment "Fraction of the visible light that passes the shading system at normal incidence. It is a value without unit."@en ; + rdfs:label "visible light transmittance"@en . +# +# https://saref.etsi.org/saref4bldg#volumen + +s4bldg:volumen a owl:ObjectProperty ; + rdfs:comment "Total volume of fluid in the tubes and their headers. Usually measured in cubic metre (m3)."@en ; + rdfs:label "volumen"@en . +# +# https://saref.etsi.org/saref4bldg#waterInletTemperatureMax + +s4bldg:waterInletTemperatureMax a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#waterInletTemperatureMin + +s4bldg:waterInletTemperatureMin a owl:ObjectProperty ; + rdfs:comment "Allowable water inlet temperature range. Usually measured in degrees Kelvin (K)."@en ; + rdfs:label "water inlet temperature range"@en . +# +# https://saref.etsi.org/saref4bldg#waterPressureMax + +s4bldg:waterPressureMax a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . +# +# https://saref.etsi.org/saref4bldg#waterPressureMin + +s4bldg:waterPressureMin a owl:ObjectProperty ; + rdfs:comment "Allowable water circuit working pressure range. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "water pressure range"@en . +# +# https://saref.etsi.org/saref4bldg#waterRequirement + +s4bldg:waterRequirement a owl:ObjectProperty ; + rdfs:comment "Make-up water requirement. Usually measured in m3/s."@en ; + rdfs:label "water requirement"@en . +# +# https://saref.etsi.org/saref4bldg#waterStorageCapacity + +s4bldg:waterStorageCapacity a owl:ObjectProperty ; + rdfs:comment "Water storage capacity. Usually measured in cubic metre (m3)."@en ; + rdfs:label "water storage capacity"@en . +# +# https://saref.etsi.org/saref4bldg#weight + +s4bldg:weight a owl:ObjectProperty ; + rdfs:comment "The weight of the device. Usually measured in kilograms (kg) or grams (g)."@en ; + rdfs:label "weight"@en . +# +# https://saref.etsi.org/saref4bldg#workingPressure + +s4bldg:workingPressure a owl:ObjectProperty ; + rdfs:comment "The normally expected maximum working pressure of the valve. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "working pressure"@en . +# +# https://saref.etsi.org/saref4bldg#workingPressureMax + +s4bldg:workingPressureMax a owl:ObjectProperty ; + rdfs:comment "Maximum working pressure. Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "maximum working pressure"@en . +# +# https://saref.etsi.org/saref4bldg#workingPressureMin + +s4bldg:workingPressureMin a owl:ObjectProperty ; + rdfs:comment "Allowable minimum working pressure (relative to ambient pressure). Usually measured in Pascals (Pa, N/m2)."@en ; + rdfs:label "minimum working pressure"@en . +# +# https://w3id.org/saref#isMeasuredIn + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "is measured in"@en . +# +# https://w3id.org/saref#relatesToProperty + +saref:relatesToProperty a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4bldg#accessType + +s4bldg:accessType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the types of access (or cover) to a tank that may be specified. Note that covers are generally specified for rectangular tanks. For cylindrical tanks, access will normally be via a manhole."@en ; + rdfs:label "access type"@en . +# +# https://saref.etsi.org/saref4bldg#application + +s4bldg:application a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Humidifier application. Fixed: Humidifier installed in a ducted flow distribution system. Portable: Humidifier is not installed in a ducted flow distribution system."@en ; + rdfs:label "application"@en . +# +# https://saref.etsi.org/saref4bldg#arrangement + +s4bldg:arrangement a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the basic flow arrangements for the heat exchanger: COUNTERFLOW: Counterflow heat exchanger arrangement. CROSSFLOW: Crossflow heat exchanger arrangement. PARALLELFLOW: Parallel flow heat exchanger arrangement. MULTIPASS: Multipass flow heat exchanger arrangement. OTHER: Other type of heat exchanger flow arrangement not defined above."@en ; + rdfs:label "arrangement"@en . +# +# https://saref.etsi.org/saref4bldg#bladeAction + +s4bldg:bladeAction a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Blade action."@en ; + rdfs:label "blade action"@en . +# +# https://saref.etsi.org/saref4bldg#bladeEdge + +s4bldg:bladeEdge a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Blade edge."@en ; + rdfs:label "blade edge"@en . +# +# https://saref.etsi.org/saref4bldg#bladeShape + +s4bldg:bladeShape a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Blade shape. Flat means triple V-groove."@en ; + rdfs:label "blade shape"@en . +# +# https://saref.etsi.org/saref4bldg#capacityControl + +s4bldg:capacityControl a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "FanCycling: Fan is cycled on and off to control duty. TwoSpeedFan: Fan is switched between low and high speed to control duty. VariableSpeedFan: Fan speed is varied to control duty. DampersControl: Dampers modulate the air flow to control duty. BypassValveControl: Bypass valve modulates the water flow to control duty. MultipleSeriesPumps: Turn on/off multiple series pump to control duty. TwoSpeedPump: Switch between high/low pump speed to control duty. VariableSpeedPump: vary pump speed to control duty."@en ; + rdfs:label "capacity control"@en . +# +# https://saref.etsi.org/saref4bldg#capacityControlType + +s4bldg:capacityControlType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "InletVane: Control by adjusting inlet vane. VariableSpeedDrive: Control by variable speed drive. BladePitchAngle: Control by adjusting blade pitch angle. TwoSpeed: Control by switch between high and low speed. DischargeDamper: Control by modulating discharge damper."@en ; + rdfs:label "capacity control type"@en . +# +# https://saref.etsi.org/saref4bldg#capacityPeople + +s4bldg:capacityPeople a owl:DatatypeProperty ; + rdfs:range xsd:nonNegativeInteger ; + rdfs:comment "Capacity of the transportation element measured in numbers of person."@en ; + rdfs:label "capacity people"@en . +# +# https://saref.etsi.org/saref4bldg#circuitType + +s4bldg:circuitType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "OpenCircuit: Exposes water directly to the cooling atmosphere. CloseCircuit: The fluid is separated from the atmosphere by a heat exchanger. Wet: The air stream or the heat exchange surface is evaporatively cooled. Dry: No evaporation into the air stream. DryWet: A combination of a dry tower and a wet tower."@en ; + rdfs:label "circuit type"@en . +# +# https://saref.etsi.org/saref4bldg#colorAppearance + +s4bldg:colorAppearance a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "In both the DIN and CIE standards, artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance."@en ; + rdfs:label "color appearance"@en . +# +# https://saref.etsi.org/saref4bldg#colorRenderingIndex + +s4bldg:colorRenderingIndex a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "The CRI indicates how well a light source renders eight standard colors compared to perfect reference lamp with the same color temperature. The CRI scale ranges from 1 to 100, with 100 representing perfect rendering properties."@en ; + rdfs:label "color rendering index"@en . +# +# https://saref.etsi.org/saref4bldg#controlStrategy + +s4bldg:controlStrategy a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "FixedExitingWaterTemp: The capacity is controlled to maintain a fixed exiting water temperature. WetBulbTempReset: The set-point is reset based on the wet-bulb temperature."@en ; + rdfs:label "control strategy"@en . +# +# https://saref.etsi.org/saref4bldg#endShapeType + +s4bldg:endShapeType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the types of end shapes that can be used for preformed tanks. The convention for reading these enumerated values is that for a vertical cylinder, the first value is the base and the second is the top for a horizontal cylinder, the order of reading should be left to right. For a speherical tank, the value UNSET should be used.B5"@en ; + rdfs:label "end shape type"@en . +# +# https://saref.etsi.org/saref4bldg#energySource + +s4bldg:energySource a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Enumeration defining the energy source or fuel cumbusted to generate heat."@en , "The source of energy."@en ; + rdfs:label "energy source"@en . +# +# https://saref.etsi.org/saref4bldg#evaporationCoolant + +s4bldg:evaporationCoolant a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The fluid used for the coolant in the evaporator."@en ; + rdfs:label "evaporation coolant"@en . +# +# https://saref.etsi.org/saref4bldg#evaporationMediumType + +s4bldg:evaporationMediumType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "ColdLiquid: Evaporator is using liquid type of fluid to exchange heat with refrigerant. ColdAir: Evaporator is using air to exchange heat with refrigerant."@en ; + rdfs:label "evaporation medium type"@en . +# +# https://saref.etsi.org/saref4bldg#failPosition + +s4bldg:failPosition a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Specifies the required fail-safe position of the actuator."@en ; + rdfs:label "fail position"@en . +# +# https://saref.etsi.org/saref4bldg#finishColor + +s4bldg:finishColor a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Finish color for cooled beam."@en ; + rdfs:label "finish color"@en . +# +# https://saref.etsi.org/saref4bldg#fireExit + +s4bldg:fireExit a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication whether this object is designed to serve as an exit in the case of fire (TRUE) or not (FALSE). Here whether the transport element (in case of e.g., a lift) is designed to serve as a fire exit, e.g., for fire escape purposes."@en ; + rdfs:label "fire exit"@en . +# +# https://saref.etsi.org/saref4bldg#flowArrangement + +s4bldg:flowArrangement a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "CounterFlow: Air and water flow enter in different directions. CrossFlow: Air and water flow are perpendicular. ParallelFlow: air and water flow enter in same directions."@en ; + rdfs:label "flow arrangement"@en . +# +# https://saref.etsi.org/saref4bldg#frameSize + +s4bldg:frameSize a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Designation of the frame size according to the named range of frame sizes designated at the place of use or according to a given standard."@en ; + rdfs:label "frame size"@en . +# +# https://saref.etsi.org/saref4bldg#frameType + +s4bldg:frameType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The type of frame used by the damper (e.g., Standard, Single Flange, Single Reversed Flange, Double Flange, etc.)."@en ; + rdfs:label "frame type"@en . +# +# https://saref.etsi.org/saref4bldg#hasDefrost + +s4bldg:hasDefrost a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Whether the heat exchanger has defrost function or not."@en ; + rdfs:label "has defrost"@en . +# +# https://saref.etsi.org/saref4bldg#hasExteriorInsulation + +s4bldg:hasExteriorInsulation a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "TRUE if the silencer has exterior insulation. FALSE if it does not."@en ; + rdfs:label "has exterior insulation"@en . +# +# https://saref.etsi.org/saref4bldg#hasHotGasBypass + +s4bldg:hasHotGasBypass a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Whether or not hot gas bypass is provided for the compressor. TRUE = Yes, FALSE = No."@en ; + rdfs:label "has hot gas bypass"@en . +# +# https://saref.etsi.org/saref4bldg#hasLock + +s4bldg:hasLock a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether a switching device has a key operated lock (=TRUE) or not (= FALSE)."@en ; + rdfs:label "has lock"@en . +# +# https://saref.etsi.org/saref4bldg#hasPartWinding + +s4bldg:hasPartWinding a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether the motor is single speed, i.e. has a single winding (= FALSE) or multi-speed i.e.has part winding (= TRUE) ."@en ; + rdfs:label "has part winding"@en . +# +# https://saref.etsi.org/saref4bldg#hasTurbulator + +s4bldg:hasTurbulator a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "TRUE if the tube has a turbulator, FALSE if it does not."@en ; + rdfs:label "has turbulator"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferDimension + +s4bldg:heatTransferDimension a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates how heat is transmitted according to the shape of the space heater."@en ; + rdfs:label "heat transfer dimension"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferMedium + +s4bldg:heatTransferMedium a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Enumeration defining the heat transfer medium if applicable."@en ; + rdfs:label "heat transfer medium"@en . +# +# https://saref.etsi.org/saref4bldg#heatTransferTypeEnum + +s4bldg:heatTransferTypeEnum a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Type of heat transfer between the two air streams."@en ; + rdfs:label "heat transfer type enum"@en . +# +# https://saref.etsi.org/saref4bldg#integratedLightingType + +s4bldg:integratedLightingType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Integrated lighting in cooled beam."@en ; + rdfs:label "integrated lighting type"@en . +# +# https://saref.etsi.org/saref4bldg#internalControl + +s4bldg:internalControl a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Internal modulation control."@en ; + rdfs:label "internal control"@en . +# +# https://saref.etsi.org/saref4bldg#isExternal + +s4bldg:isExternal a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication whether the element is designed for use in the exterior (TRUE) or not (FALSE). If (TRUE) it is an external element and faces the outside of the building."@en ; + rdfs:label "is external"@en . +# +# https://saref.etsi.org/saref4bldg#isFreeHanging + +s4bldg:isFreeHanging a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Is it free hanging type (not mounted in a false ceiling)?"@en ; + rdfs:label "is free hanging"@en . +# +# https://saref.etsi.org/saref4bldg#isGuarded + +s4bldg:isGuarded a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether the motor enclosure is guarded (= TRUE) or not (= FALSE)."@en ; + rdfs:label "is guarded"@en . +# +# https://saref.etsi.org/saref4bldg#isIlluminated + +s4bldg:isIlluminated a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "An indication of whether there is an illuminated indicator to show that the switch is on (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is illuminated"@en . +# +# https://saref.etsi.org/saref4bldg#isNeutralPrimaryTerminalAvailable + +s4bldg:isNeutralPrimaryTerminalAvailable a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "An indication of whether the neutral point of the primary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral primary terminal available"@en . +# +# https://saref.etsi.org/saref4bldg#isNeutralSecondaryTerminalAvailable + +s4bldg:isNeutralSecondaryTerminalAvailable a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "An indication of whether the neutral point of the secondary winding is available as a terminal (=TRUE) or not (= FALSE)."@en ; + rdfs:label "is neutral secondary terminal available"@en . +# +# https://saref.etsi.org/saref4bldg#isPluggableOutlet + +s4bldg:isPluggableOutlet a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication of whether the outlet accepts a loose plug connection (= TRUE) or whether it is directly connected (= FALSE) or whether the form of connection has not yet been determined (= UNKNOWN)."@en ; + rdfs:label "is pluggable outlet"@en . +# +# https://saref.etsi.org/saref4bldg#isWaterStorageHeater + +s4bldg:isWaterStorageHeater a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "This is used to identify if the boiler has storage capacity (TRUE). If FALSE, then there is no storage capacity built into the boiler, such as an instantaneous hot water heater."@en ; + rdfs:label "is water storage heater"@en . +# +# https://saref.etsi.org/saref4bldg#lampBallastType + +s4bldg:lampBallastType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The type of ballast used to stabilise gas discharge by limiting the current during operation and to deliver the necessary striking voltage for starting. Ballasts are needed to operate Discharge Lamps such as Fluorescent, Compact Fluorescent, High-pressure Mercury, Metal Halide and High-pressure Sodium Lamps. Magnetic ballasts are chokes which limit the current passing through a lamp connected in series on the principle of self-induction. The resultant current and power are decisive for the efficient operation of the lamp. A specially designed ballast is required for every type of lamp to comply with lamp rating in terms of Luminous Flux, Color Appearance and service life. The two types of magnetic ballasts for fluorescent lamps are KVG Conventional (EC-A series) and VVG Low-loss ballasts (EC-B series). Low-loss ballasts have a higher efficiency, which means reduced ballast losses and a lower thermal load. Electronic ballasts are used to run fluorescent lamps at high frequencies (approx. 35 - 40 kHz)."@en ; + rdfs:label "lamp ballast type"@en . +# +# https://saref.etsi.org/saref4bldg#lampCompensationType + +s4bldg:lampCompensationType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Identifies the form of compensation used for power factor correction and radio suppression."@en ; + rdfs:label "lamp compensation type"@en . +# +# https://saref.etsi.org/saref4bldg#legend + +s4bldg:legend a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A text inscribed or applied to the switch as a legend to indicate purpose or function."@en ; + rdfs:label "legend"@en . +# +# https://saref.etsi.org/saref4bldg#manualOverride + +s4bldg:manualOverride a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Identifies whether hand-operated operation is provided as an override (= TRUE) or not (= FALSE). Note that this value should be set to FALSE by default in the case of a Hand Operated Actuator."@en ; + rdfs:label "manual override"@en . +# +# https://saref.etsi.org/saref4bldg#mechanicalOperated + +s4bldg:mechanicalOperated a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indication whether the element is operated machanically (TRUE) or not, i.e. manually (FALSE)."@en ; + rdfs:label "mechanical operated"@en . +# +# https://saref.etsi.org/saref4bldg#mediaSource + +s4bldg:mediaSource a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates media sources and corresponding names of ports (DistributionPort with FlowDirection=SINK and PredefinedType=AUDIOVISUAL) or aggregated audio/video components (AudioVisualAppliance)."@en ; + rdfs:label "media source"@en . +# +# https://saref.etsi.org/saref4bldg#motorDriveType + +s4bldg:motorDriveType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Motor drive type: DIRECTDRIVE: Direct drive. BELTDRIVE: Belt drive. COUPLING: Coupling. OTHER: Other type of motor drive. UNKNOWN: Unknown motor drive type. "@en ; + rdfs:label "motor drive type"@en . +# +# https://saref.etsi.org/saref4bldg#motorEnclosureType + +s4bldg:motorEnclosureType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A list of the available types of motor enclosure from which that required may be selected."@en ; + rdfs:label "motor enclosure type"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfBlades + +s4bldg:numberOfBlades a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of blades."@en ; + rdfs:label "number of blades"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfCells + +s4bldg:numberOfCells a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of cells in one cooling tower unit."@en ; + rdfs:label "number of cells"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfCircuits + +s4bldg:numberOfCircuits a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of parallel fluid tube circuits."@en ; + rdfs:label "number of circuits"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfGangs + +s4bldg:numberOfGangs a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of gangs/buttons on this switch."@en ; + rdfs:label "number of gangs"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfPanels + +s4bldg:numberOfPanels a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of panels."@en ; + rdfs:label "number of panels"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfRows + +s4bldg:numberOfRows a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of tube rows in the tube bundle assembly."@en ; + rdfs:label "number of rows"@en . +# +# https://saref.etsi.org/saref4bldg#numberOfSections + +s4bldg:numberOfSections a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "Number of sections used."@en ; + rdfs:label "number of sections"@en . +# +# https://saref.etsi.org/saref4bldg#numberOsSockets + +s4bldg:numberOsSockets a owl:DatatypeProperty ; + rdfs:range xsd:integer ; + rdfs:comment "The number of sockets that may be connected. In case of inconsistency, sockets defined on ports take precedence."@en ; + rdfs:label "number os sockets"@en . +# +# https://saref.etsi.org/saref4bldg#operatingMode + +s4bldg:operatingMode a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Identifies the operating mode of the boiler."@en ; + rdfs:label "operating mode"@en . +# +# https://saref.etsi.org/saref4bldg#operation + +s4bldg:operation a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The operational mechanism for the damper operation."@en ; + rdfs:label "operation"@en . +# +# https://saref.etsi.org/saref4bldg#orientation + +s4bldg:orientation a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The intended orientation for the damper as specified by the manufacturer."@en ; + rdfs:label "orientation"@en . +# +# https://saref.etsi.org/saref4bldg#patternType + +s4bldg:patternType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the types of pattern (or shape of a tank that may be specified."@en ; + rdfs:label "pattern type"@en . +# +# https://saref.etsi.org/saref4bldg#pipeConnectionEnum + +s4bldg:pipeConnectionEnum a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The manner in which the pipe connection is made to the cooled beam."@en ; + rdfs:label "pipe connection enum"@en . +# +# https://saref.etsi.org/saref4bldg#placementType + +s4bldg:placementType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates how the device is designed to be placed."@en ; + rdfs:label "placement type"@en . +# +# https://saref.etsi.org/saref4bldg#powerSource + +s4bldg:powerSource a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Type of power driving the compressor."@en ; + rdfs:label "power source"@en . +# +# https://saref.etsi.org/saref4bldg#readOutType + +s4bldg:readOutType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indication of the form that readout from the meter takes. In the case of a dial read out, this may comprise multiple dials that give a cumulative reading and/or a mechanical odometer."@en ; + rdfs:label "read out type"@en . +# +# https://saref.etsi.org/saref4bldg#refrigerantClass + +s4bldg:refrigerantClass a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Refrigerant class used by the compressor. CFC: Chlorofluorocarbons. HCFC: Hydrochlorofluorocarbons. HFC: Hydrofluorocarbons."@en ; + rdfs:label "refrigerant class"@en . +# +# https://saref.etsi.org/saref4bldg#remoteReading + +s4bldg:remoteReading a owl:DatatypeProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "Indicates whether the meter has a connection for remote reading through connection of a communication device (set TRUE) or not (set FALSE)."@en ; + rdfs:label "remote reading"@en . +# +# https://saref.etsi.org/saref4bldg#roughness + +s4bldg:roughness a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A measure of the vertical deviations of the surface."@en ; + rdfs:label "roughness"@en . +# +# https://saref.etsi.org/saref4bldg#secondaryCurrentType + +s4bldg:secondaryCurrentType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A list of the secondary current types that can result from transformer output."@en ; + rdfs:label "secondary current type"@en . +# +# https://saref.etsi.org/saref4bldg#shadingDeviceType + +s4bldg:shadingDeviceType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Specifies the type of shading device."@en ; + rdfs:label "shading device type"@en . +# +# https://saref.etsi.org/saref4bldg#sprayType + +s4bldg:sprayType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "SprayFilled: Water is sprayed into airflow. SplashTypeFill: water cascades over successive rows of splash bars. FilmTypeFill: water flows in a thin layer over closely spaced sheets."@en ; + rdfs:label "spray type"@en . +# +# https://saref.etsi.org/saref4bldg#standard + +s4bldg:standard a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The designation of the standard applicable for the definition of the characteristics of the unit."@en ; + rdfs:label "standard"@en . +# +# https://saref.etsi.org/saref4bldg#storageType + +s4bldg:storageType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Defines the general material category intended to be stored."@en ; + rdfs:label "storage type"@en . +# +# https://saref.etsi.org/saref4bldg#switchFunction + +s4bldg:switchFunction a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Indicates types of switches which differs in functionality."@en ; + rdfs:label "switch function"@en . +# +# https://saref.etsi.org/saref4bldg#temperatureClassification + +s4bldg:temperatureClassification a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Enumeration defining the temperature classification of the space heater surface temperature. low temperature - surface temperature is relatively low, usually heated by hot water or electricity. high temperature - surface temperature is relatively high, usually heated by gas or steam."@en ; + rdfs:label "temperature classification"@en . +# +# https://saref.etsi.org/saref4bldg#transformerVectorGroup + +s4bldg:transformerVectorGroup a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "List of the possible vector groups for the transformer from which that required may be set. Values in the enumeration list follow a standard international code where the first letter describes how the primary windings are connected, the second letter describes how the secondary windings are connected, and the numbers describe the rotation of voltages and currents from the primary to the secondary side in multiples of 30 degrees. D: means that the windings are delta-connected. Y: means that the windings are star-connected. Z: means that the windings are zig-zag connected (a special start-connected providing low reactance of the transformer). The connectivity is only relevant for three-phase transformers."@en ; + rdfs:label "transformer vector group"@en . +# +# https://saref.etsi.org/saref4bldg#valveMechanism + +s4bldg:valveMechanism a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The mechanism by which the valve function is achieved where: BALL: Valve that has a ported ball that can be turned relative to the body seat ports. BUTTERFLY: Valve in which a streamlined disc pivots about a diametric axis. CONFIGUREDGATE: Screwdown valve in which the closing gate is shaped in a configured manner to have a more precise control of pressure and flow change across the valve. GLAND: Valve with a tapered seating, in which a rotatable plug is retained by means of a gland and gland packing. GLOBE: Screwdown valve that has a spherical body. LUBRICATEDPLUG: Plug valve in which a lubricant is injected under pressure between the plug face and the body. NEEDLE: Valve for regulating the flow in or from a pipe, in which a slender cone moves along the axis of flow to close against a fixed conical seat. PARALLELSLIDE: Screwdown valve that has a machined plate that slides in formed grooves to form a seal. PLUG: Valve that has a ported plug that can be turned relative to the body seat ports. WEDGEGATE: Screwdown valve that has a wedge shaped plate fitting into tapered guides to form a seal."@en ; + rdfs:label "valve mechanism"@en . +# +# https://saref.etsi.org/saref4bldg#valveOperation + +s4bldg:valveOperation a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The method of valve operation where: DROPWEIGHT: A valve that is closed by the action of a weighted lever being released, the weight normally being prevented from dropping by being held by a wire, the closure normally being made by the action of heat on a fusible link in the wire FLOAT: A valve that is opened and closed by the action of a float that rises and falls with water level. The float may be a ball attached to a lever or other mechanism HYDRAULIC: A valve that is opened and closed by hydraulic actuation LEVER: A valve that is opened and closed by the action of a lever rotating the gate within the valve. LOCKSHIELD: A valve that requires the use of a special lockshield key for opening and closing, the operating mechanism being protected by a shroud during normal operation. MOTORIZED: A valve that is opened and closed by the action of an electric motor on an actuator PNEUMATIC: A valve that is opened and closed by pneumatic actuation SOLENOID: A valve that is normally held open by a magnetic field in a coil acting on the gate but that is closed immediately if the electrical current generating the magnetic field is removed. SPRING: A valve that is normally held in position by the pressure of a spring on a plate but that may be caused to open if the pressure of the fluid is sufficient to overcome the spring pressure. THERMOSTATIC: A valve in which the ports are opened or closed to maintain a required predetermined temperature. WHEEL: A valve that is opened and closed by the action of a wheel moving the gate within the valve."@en ; + rdfs:label "valve operation"@en . +# +# https://saref.etsi.org/saref4bldg#valvePattern + +s4bldg:valvePattern a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The configuration of the ports of a valve according to either the linear route taken by a fluid flowing through the valve or by the number of ports where: SINGLEPORT: Valve that has a single entry port from the system that it serves, the exit port being to the surrounding environment. ANGLED_2_PORT: Valve in which the direction of flow is changed through 90 degrees. STRAIGHT_2_PORT: Valve in which the flow is straight through. STRAIGHT_3_PORT: Valve with three separate ports. CROSSOVER_4_PORT: Valve with 4 separate ports."@en ; + rdfs:label "valve pattern"@en . +# +# https://saref.etsi.org/saref4bldg#waterFlowControlSystemType + +s4bldg:waterFlowControlSystemType a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "Factory fitted waterflow control system."@en ; + rdfs:label "water flow control system type"@en . +# +# https://w3id.org/saref#hasTimestamp + +saref:hasTimestamp a owl:DatatypeProperty , owl:FunctionalProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en . +# +# https://w3id.org/saref#hasValue + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4bldg#Actuator + +s4bldg:Actuator a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice , saref:Actuator , _:genid1 . + +_:genid1 a owl:Restriction ; + owl:onProperty s4bldg:failPosition ; + owl:allValuesFrom xsd:string . + +s4bldg:Actuator rdfs:subClassOf _:genid2 . + +_:genid2 a owl:Restriction ; + owl:onProperty s4bldg:manualOverride ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Actuator rdfs:comment "An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion."@en ; + rdfs:label "Actuator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcActuator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcactuator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_actuatortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#AirToAirHeatRecovery + +s4bldg:AirToAirHeatRecovery a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid3 . + +_:genid3 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid4 . + +_:genid4 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid5 . + +_:genid5 a owl:Restriction ; + owl:onProperty s4bldg:primaryAirFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid6 . + +_:genid6 a owl:Restriction ; + owl:onProperty s4bldg:primaryAirFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid7 . + +_:genid7 a owl:Restriction ; + owl:onProperty s4bldg:secondaryAirFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid8 . + +_:genid8 a owl:Restriction ; + owl:onProperty s4bldg:secondaryAirFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid9 . + +_:genid9 a owl:Restriction ; + owl:onProperty s4bldg:hasDefrost ; + owl:allValuesFrom xsd:boolean . + +s4bldg:AirToAirHeatRecovery rdfs:subClassOf _:genid10 . + +_:genid10 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferTypeEnum ; + owl:allValuesFrom xsd:string . + +s4bldg:AirToAirHeatRecovery rdfs:comment "An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements."@en ; + rdfs:label "Air to air heat recovery"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAirToAirHeatRecovery" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcairtoairheatrecovery.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_airtoairheatrecoverytypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Alarm + +s4bldg:Alarm a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. + +Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms."""@en ; + rdfs:label "Alarm"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAlarm" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcalarm.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_alarmtypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#AudioVisualAppliance + +s4bldg:AudioVisualAppliance a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid11 . + +_:genid11 a owl:Restriction ; + owl:onProperty s4bldg:audioVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:AudioVisualAppliance rdfs:subClassOf _:genid12 . + +_:genid12 a owl:Restriction ; + owl:onProperty s4bldg:mediaSource ; + owl:allValuesFrom xsd:string . + +s4bldg:AudioVisualAppliance rdfs:comment """An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. + +Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only."""@en ; + rdfs:label "Audio visual appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcAudioVisualApplicance" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcaudiovisualappliance.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_audiovisualappliancetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Boiler + +s4bldg:Boiler a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid13 . + +_:genid13 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid14 . + +_:genid14 a owl:Restriction ; + owl:onProperty s4bldg:nominalEnergyConsumption ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid15 . + +_:genid15 a owl:Restriction ; + owl:onProperty s4bldg:nominalPartLoadRatio ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid16 . + +_:genid16 a owl:Restriction ; + owl:onProperty s4bldg:outletTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid17 . + +_:genid17 a owl:Restriction ; + owl:onProperty s4bldg:outletTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid18 . + +_:genid18 a owl:Restriction ; + owl:onProperty s4bldg:pressureRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid19 . + +_:genid19 a owl:Restriction ; + owl:onProperty s4bldg:waterInletTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid20 . + +_:genid20 a owl:Restriction ; + owl:onProperty s4bldg:waterInletTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid21 . + +_:genid21 a owl:Restriction ; + owl:onProperty s4bldg:waterStorageCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Boiler rdfs:subClassOf _:genid22 . + +_:genid22 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:Boiler rdfs:subClassOf _:genid23 . + +_:genid23 a owl:Restriction ; + owl:onProperty s4bldg:isWaterStorageHeater ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Boiler rdfs:subClassOf _:genid24 . + +_:genid24 a owl:Restriction ; + owl:onProperty s4bldg:operatingMode ; + owl:allValuesFrom xsd:string . + +s4bldg:Boiler rdfs:comment "A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications."@en ; + rdfs:label "Boiler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBoiler" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcboiler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_boilertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Building + +s4bldg:Building a owl:Class ; + rdfs:subClassOf _:genid25 . + +_:genid25 a owl:Restriction ; + owl:onProperty s4bldg:hasSpace ; + owl:allValuesFrom s4bldg:BuildingSpace . + +s4bldg:Building rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ; + rdfs:label "Building"@en ; + rdfs:seeAlso <https://w3id.org/ifc/IFC4_ADD1#IfcBuilding> ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcbuilding.htm> . +# +# https://saref.etsi.org/saref4bldg#BuildingDevice + +s4bldg:BuildingDevice a owl:Class ; + rdfs:subClassOf s4bldg:BuildingObject , saref:Device ; + rdfs:comment "A tangible object designed to accomplish a particular task in a building."@en ; + rdfs:label "Building device"@en . +# +# https://saref.etsi.org/saref4bldg#BuildingObject + +s4bldg:BuildingObject a owl:Class ; + rdfs:subClassOf s4bldg:PhysicalObject ; + rdfs:comment "An object in the building that can be controlled by devices, such as a door or a window that can be automatically opened or closed by an actuator. (Definition taken from SAREF 1.0)"@en ; + rdfs:label "Building object"@en . +# +# https://saref.etsi.org/saref4bldg#BuildingSpace + +s4bldg:BuildingSpace a owl:Class ; + rdfs:subClassOf _:genid26 . + +_:genid26 a owl:Restriction ; + owl:onProperty s4bldg:contains ; + owl:allValuesFrom s4bldg:PhysicalObject . + +s4bldg:BuildingSpace rdfs:subClassOf _:genid27 . + +_:genid27 a owl:Restriction ; + owl:onProperty s4bldg:hasSpace ; + owl:allValuesFrom s4bldg:BuildingSpace . + +s4bldg:BuildingSpace rdfs:subClassOf _:genid28 . + +_:genid28 a owl:Restriction ; + owl:onProperty s4bldg:isSpaceOf ; + owl:allValuesFrom _:genid29 . + +_:genid29 a owl:Class ; + owl:unionOf _:genid31 . + +_:genid31 a rdf:List ; + rdf:first s4bldg:Building ; + rdf:rest _:genid30 . + +_:genid30 a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest rdf:nil . + +s4bldg:BuildingSpace rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ; + rdfs:label "Building space"@en . +# +# https://saref.etsi.org/saref4bldg#Burner + +s4bldg:Burner a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid32 . + +_:genid32 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:Burner rdfs:comment "A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners."@en ; + rdfs:label "Burner"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcBurner" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcburner.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_burnertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Chiller + +s4bldg:Chiller a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid33 . + +_:genid33 a owl:Restriction ; + owl:onProperty s4bldg:nominalCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid34 . + +_:genid34 a owl:Restriction ; + owl:onProperty s4bldg:nominalCondensingTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid35 . + +_:genid35 a owl:Restriction ; + owl:onProperty s4bldg:nominalEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid36 . + +_:genid36 a owl:Restriction ; + owl:onProperty s4bldg:nominalEvaporatingTemmperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid37 . + +_:genid37 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatRejectionRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:subClassOf _:genid38 . + +_:genid38 a owl:Restriction ; + owl:onProperty s4bldg:nominalPowerConsumption ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Chiller rdfs:comment "A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building."@en ; + rdfs:label "Chiller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcChiller" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcchiller.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_chillertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Coil + +s4bldg:Coil a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid39 . + +_:genid39 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid40 . + +_:genid40 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid41 . + +_:genid41 a owl:Restriction ; + owl:onProperty s4bldg:nominalLatentCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid42 . + +_:genid42 a owl:Restriction ; + owl:onProperty s4bldg:nominalSensibleCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid43 . + +_:genid43 a owl:Restriction ; + owl:onProperty s4bldg:nominalUa ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid44 . + +_:genid44 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid45 . + +_:genid45 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Coil rdfs:subClassOf _:genid46 . + +_:genid46 a owl:Restriction ; + owl:onProperty s4bldg:placementType ; + owl:allValuesFrom xsd:string . + +s4bldg:Coil rdfs:comment """A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. + +Coils may also be used for non-airflow cases such as embedded in a floor slab."""@en ; + rdfs:label "Coil"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoil" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoil.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coiltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#CommunicationAppliance + +s4bldg:CommunicationAppliance a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment """A communications appliance transmits and receives electronic or digital information as data or sound. + +Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."""@en ; + rdfs:label "Communication appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCommunicationAppliance" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifccommunicationsappliance.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_communicationsappliancetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Compressor + +s4bldg:Compressor a owl:Class ; + rdfs:subClassOf s4bldg:FlowMovingDevice , _:genid47 . + +_:genid47 a owl:Restriction ; + owl:onProperty s4bldg:compressorSpeed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid48 . + +_:genid48 a owl:Restriction ; + owl:onProperty s4bldg:idealCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid49 . + +_:genid49 a owl:Restriction ; + owl:onProperty s4bldg:idealShaftPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid50 . + +_:genid50 a owl:Restriction ; + owl:onProperty s4bldg:impellerDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid51 . + +_:genid51 a owl:Restriction ; + owl:onProperty s4bldg:nominalCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid52 . + +_:genid52 a owl:Restriction ; + owl:onProperty s4bldg:partLoadRatioMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid53 . + +_:genid53 a owl:Restriction ; + owl:onProperty s4bldg:partLoadRatioMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Compressor rdfs:subClassOf _:genid54 . + +_:genid54 a owl:Restriction ; + owl:onProperty s4bldg:hasHotGasBypass ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Compressor rdfs:subClassOf _:genid55 . + +_:genid55 a owl:Restriction ; + owl:onProperty s4bldg:powerSource ; + owl:allValuesFrom xsd:string . + +s4bldg:Compressor rdfs:subClassOf _:genid56 . + +_:genid56 a owl:Restriction ; + owl:onProperty s4bldg:refrigerantClass ; + owl:allValuesFrom xsd:string . + +s4bldg:Compressor rdfs:comment "A compressor is a device that compresses a fluid typically used in a refrigeration circuit."@en ; + rdfs:label "Compressor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCompressor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccompressor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_compressortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Condenser + +s4bldg:Condenser a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid57 . + +_:genid57 a owl:Restriction ; + owl:onProperty s4bldg:externalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid58 . + +_:genid58 a owl:Restriction ; + owl:onProperty s4bldg:internalRefrigerantVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid59 . + +_:genid59 a owl:Restriction ; + owl:onProperty s4bldg:internalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid60 . + +_:genid60 a owl:Restriction ; + owl:onProperty s4bldg:internalWaterVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid61 . + +_:genid61 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid62 . + +_:genid62 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Condenser rdfs:subClassOf _:genid63 . + +_:genid63 a owl:Restriction ; + owl:onProperty s4bldg:refrigerantClass ; + owl:allValuesFrom xsd:string . + +s4bldg:Condenser rdfs:comment "A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state."@en ; + rdfs:label "Condenser"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCondenser" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccondenser.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_condensertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Controller + +s4bldg:Controller a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """A controller is a device that monitors inputs and controls outputs within a building automation system. + +A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller)."""@en ; + rdfs:label "Controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcController" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifccontroller.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_controllertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#CooledBeam + +s4bldg:CooledBeam a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid64 . + +_:genid64 a owl:Restriction ; + owl:onProperty s4bldg:coilLength ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid65 . + +_:genid65 a owl:Restriction ; + owl:onProperty s4bldg:coilWidth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid66 . + +_:genid66 a owl:Restriction ; + owl:onProperty s4bldg:nominalCoolingCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid67 . + +_:genid67 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatingCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid68 . + +_:genid68 a owl:Restriction ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid69 . + +_:genid69 a owl:Restriction ; + owl:onProperty s4bldg:nominalReturnWaterTemperatureHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid70 . + +_:genid70 a owl:Restriction ; + owl:onProperty s4bldg:nominalSorroundingHumidityCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid71 . + +_:genid71 a owl:Restriction ; + owl:onProperty s4bldg:nominalSorroundingTemperatureCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid72 . + +_:genid72 a owl:Restriction ; + owl:onProperty s4bldg:nominalSorroundingTemperatureHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid73 . + +_:genid73 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid74 . + +_:genid74 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyWaterTemperatureHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid75 . + +_:genid75 a owl:Restriction ; + owl:onProperty s4bldg:nominalWaterFlowCooling ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid76 . + +_:genid76 a owl:Restriction ; + owl:onProperty s4bldg:nominalWaterFlowHeating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid77 . + +_:genid77 a owl:Restriction ; + owl:onProperty s4bldg:waterPressureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid78 . + +_:genid78 a owl:Restriction ; + owl:onProperty s4bldg:waterPressureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CooledBeam rdfs:subClassOf _:genid79 . + +_:genid79 a owl:Restriction ; + owl:onProperty s4bldg:finishColor ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:subClassOf _:genid80 . + +_:genid80 a owl:Restriction ; + owl:onProperty s4bldg:integratedLightingType ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:subClassOf _:genid81 . + +_:genid81 a owl:Restriction ; + owl:onProperty s4bldg:isFreeHanging ; + owl:allValuesFrom xsd:boolean . + +s4bldg:CooledBeam rdfs:subClassOf _:genid82 . + +_:genid82 a owl:Restriction ; + owl:onProperty s4bldg:pipeConnectionEnum ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:subClassOf _:genid83 . + +_:genid83 a owl:Restriction ; + owl:onProperty s4bldg:waterFlowControlSystemType ; + owl:allValuesFrom xsd:string . + +s4bldg:CooledBeam rdfs:comment "A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again."@en ; + rdfs:label "Cooled beam"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCooledBeam" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccooledbeam.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_cooledbeamtypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#CoolingTower + +s4bldg:CoolingTower a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid84 . + +_:genid84 a owl:Restriction ; + owl:onProperty s4bldg:ambientDesignDryBulbTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid85 . + +_:genid85 a owl:Restriction ; + owl:onProperty s4bldg:ambientDesignWetBulbTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid86 . + +_:genid86 a owl:Restriction ; + owl:onProperty s4bldg:basinReserveVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid87 . + +_:genid87 a owl:Restriction ; + owl:onProperty s4bldg:liftElevationDifference ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid88 . + +_:genid88 a owl:Restriction ; + owl:onProperty s4bldg:nominalCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid89 . + +_:genid89 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid90 . + +_:genid90 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid91 . + +_:genid91 a owl:Restriction ; + owl:onProperty s4bldg:waterRequirement ; + owl:allValuesFrom saref:Measurement . + +s4bldg:CoolingTower rdfs:subClassOf _:genid92 . + +_:genid92 a owl:Restriction ; + owl:onProperty s4bldg:capacityControl ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid93 . + +_:genid93 a owl:Restriction ; + owl:onProperty s4bldg:circuitType ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid94 . + +_:genid94 a owl:Restriction ; + owl:onProperty s4bldg:controlStrategy ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid95 . + +_:genid95 a owl:Restriction ; + owl:onProperty s4bldg:flowArrangement ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:subClassOf _:genid96 . + +_:genid96 a owl:Restriction ; + owl:onProperty s4bldg:numberOfCells ; + owl:allValuesFrom xsd:integer . + +s4bldg:CoolingTower rdfs:subClassOf _:genid97 . + +_:genid97 a owl:Restriction ; + owl:onProperty s4bldg:sprayType ; + owl:allValuesFrom xsd:string . + +s4bldg:CoolingTower rdfs:comment "A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation."@en ; + rdfs:label "Cooling tower"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcCoolingTower" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifccoolingtower.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_coolingtowertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Damper + +s4bldg:Damper a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid98 . + +_:genid98 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid99 . + +_:genid99 a owl:Restriction ; + owl:onProperty s4bldg:bladeThickness ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid100 . + +_:genid100 a owl:Restriction ; + owl:onProperty s4bldg:closeOffRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid101 . + +_:genid101 a owl:Restriction ; + owl:onProperty s4bldg:faceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid102 . + +_:genid102 a owl:Restriction ; + owl:onProperty s4bldg:frameDepth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid103 . + +_:genid103 a owl:Restriction ; + owl:onProperty s4bldg:frameThickness ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid104 . + +_:genid104 a owl:Restriction ; + owl:onProperty s4bldg:leakageFullyClosed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid105 . + +_:genid105 a owl:Restriction ; + owl:onProperty s4bldg:nominalAirFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid106 . + +_:genid106 a owl:Restriction ; + owl:onProperty s4bldg:openPressureDrop ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid107 . + +_:genid107 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid108 . + +_:genid108 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid109 . + +_:genid109 a owl:Restriction ; + owl:onProperty s4bldg:temperatureRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid110 . + +_:genid110 a owl:Restriction ; + owl:onProperty s4bldg:workingPressureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Damper rdfs:subClassOf _:genid111 . + +_:genid111 a owl:Restriction ; + owl:onProperty s4bldg:bladeAction ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid112 . + +_:genid112 a owl:Restriction ; + owl:onProperty s4bldg:bladeEdge ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid113 . + +_:genid113 a owl:Restriction ; + owl:onProperty s4bldg:bladeShape ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid114 . + +_:genid114 a owl:Restriction ; + owl:onProperty s4bldg:frameType ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid115 . + +_:genid115 a owl:Restriction ; + owl:onProperty s4bldg:numberOfBlades ; + owl:allValuesFrom xsd:integer . + +s4bldg:Damper rdfs:subClassOf _:genid116 . + +_:genid116 a owl:Restriction ; + owl:onProperty s4bldg:operation ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:subClassOf _:genid117 . + +_:genid117 a owl:Restriction ; + owl:onProperty s4bldg:orientation ; + owl:allValuesFrom xsd:string . + +s4bldg:Damper rdfs:comment "A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air."@en ; + rdfs:label "Damper"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDamper" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcdamper.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_dampertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#DistributionControlDevice + +s4bldg:DistributionControlDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionDevice ; + rdfs:comment "Represents devices of a building automation control system that are used to impart control over elements of a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributioncontrolelement.htm)"@en ; + rdfs:label "Distribution control device"@en . +# +# https://saref.etsi.org/saref4bldg#DistributionDevice + +s4bldg:DistributionDevice a owl:Class ; + rdfs:subClassOf s4bldg:BuildingDevice ; + rdfs:comment "Generalization of all devices that participate in a distribution system. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifcdistributionelement.htm)"@en ; + rdfs:label "Distribution device"@en . +# +# https://saref.etsi.org/saref4bldg#DistributionFlowDevice + +s4bldg:DistributionFlowDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionDevice ; + rdfs:comment "Represents devices of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. (Definition adapated from http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcdistributionflowelement.htm)"@en ; + rdfs:label "DistributionFlowDevice"@en . +# +# https://saref.etsi.org/saref4bldg#DuctSilencer + +s4bldg:DuctSilencer a owl:Class ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice , _:genid118 . + +_:genid118 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid119 . + +_:genid119 a owl:Restriction ; + owl:onProperty s4bldg:airFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid120 . + +_:genid120 a owl:Restriction ; + owl:onProperty s4bldg:hydraulicDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid121 . + +_:genid121 a owl:Restriction ; + owl:onProperty s4bldg:length ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid122 . + +_:genid122 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid123 . + +_:genid123 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid124 . + +_:genid124 a owl:Restriction ; + owl:onProperty s4bldg:weight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid125 . + +_:genid125 a owl:Restriction ; + owl:onProperty s4bldg:workingPressureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid126 . + +_:genid126 a owl:Restriction ; + owl:onProperty s4bldg:workingPressureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:DuctSilencer rdfs:subClassOf _:genid127 . + +_:genid127 a owl:Restriction ; + owl:onProperty s4bldg:hasExteriorInsulation ; + owl:allValuesFrom xsd:boolean . + +s4bldg:DuctSilencer rdfs:comment "A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device."@en ; + rdfs:label "Duct silencer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcDuctSilencer" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcductsilencer.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_ductsilencertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricAppliance + +s4bldg:ElectricAppliance a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment """An electric appliance is a device intended for consumer usage that is powered by electricity. + +Electric appliances may be fixed in place or may be able to be moved from one space to another. Electric appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source."""@en ; + rdfs:label "Electric appliance"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricAppliance" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricappliance.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricappliancetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricFlowStorageDevice + +s4bldg:ElectricFlowStorageDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowStorageDevice , _:genid128 . + +_:genid128 a owl:Restriction ; + owl:onProperty s4bldg:nominalFrequency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricFlowStorageDevice rdfs:subClassOf _:genid129 . + +_:genid129 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyVoltage ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricFlowStorageDevice rdfs:subClassOf _:genid130 . + +_:genid130 a owl:Restriction ; + owl:onProperty s4bldg:nominalSupplyVoltageMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricFlowStorageDevice rdfs:comment "An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released."@en ; + rdfs:label "Electric flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricFlowStorageDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricflowstoragedevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricflowstoragedevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricGenerator + +s4bldg:ElectricGenerator a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid131 . + +_:genid131 a owl:Restriction ; + owl:onProperty s4bldg:electricGeneratorEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricGenerator rdfs:subClassOf _:genid132 . + +_:genid132 a owl:Restriction ; + owl:onProperty s4bldg:powerOutputMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricGenerator rdfs:subClassOf _:genid133 . + +_:genid133 a owl:Restriction ; + owl:onProperty s4bldg:startCurrentFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricGenerator rdfs:comment "An electric generator is an engine that is a machine for converting mechanical energy into electrical energy."@en ; + rdfs:label "Electric generator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricGenerator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricgenerator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricgeneratortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricMotor + +s4bldg:ElectricMotor a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid134 . + +_:genid134 a owl:Restriction ; + owl:onProperty s4bldg:electricMotorEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid135 . + +_:genid135 a owl:Restriction ; + owl:onProperty s4bldg:lockedRotorCurrent ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid136 . + +_:genid136 a owl:Restriction ; + owl:onProperty s4bldg:powerOutputMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid137 . + +_:genid137 a owl:Restriction ; + owl:onProperty s4bldg:startCurrentFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid138 . + +_:genid138 a owl:Restriction ; + owl:onProperty s4bldg:startingTime ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid139 . + +_:genid139 a owl:Restriction ; + owl:onProperty s4bldg:teTime ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid140 . + +_:genid140 a owl:Restriction ; + owl:onProperty s4bldg:frameSize ; + owl:allValuesFrom xsd:string . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid141 . + +_:genid141 a owl:Restriction ; + owl:onProperty s4bldg:hasPartWinding ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid142 . + +_:genid142 a owl:Restriction ; + owl:onProperty s4bldg:isGuarded ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ElectricMotor rdfs:subClassOf _:genid143 . + +_:genid143 a owl:Restriction ; + owl:onProperty s4bldg:motorEnclosureType ; + owl:allValuesFrom xsd:string . + +s4bldg:ElectricMotor rdfs:comment "An electric motor is an engine that is a machine for converting electrical energy into mechanical energy."@en ; + rdfs:label "Electric motor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricMotor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectricmotor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electricmotortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ElectricTimeControl + +s4bldg:ElectricTimeControl a owl:Class ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:comment "An electric time control is a device that applies control to the provision or flow of electrical energy over time."@en ; + rdfs:label "Electric time control"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcElectricTimeControl" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcelectrictimecontrol.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_electrictimecontroltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#EnergyConversionDevice + +s4bldg:EnergyConversionDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element EnergyConversionDevice defines the occurrence of a device used to perform energy conversion or heat transfer and typically participates in a flow distribution system."@en ; + rdfs:label "Energy conversion device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEnergyConversionDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcenergyconversiondevice.htm> . +# +# https://saref.etsi.org/saref4bldg#Engine + +s4bldg:Engine a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid144 . + +_:genid144 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:Engine rdfs:comment "An engine is a device that converts fuel into mechanical energy through combustion."@en ; + rdfs:label "Engine"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEngine" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcengine.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_enginetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#EvaporativeCooler + +s4bldg:EvaporativeCooler a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid145 . + +_:genid145 a owl:Restriction ; + owl:onProperty s4bldg:heatExchangeArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid146 . + +_:genid146 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid147 . + +_:genid147 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid148 . + +_:genid148 a owl:Restriction ; + owl:onProperty s4bldg:waterRequirement ; + owl:allValuesFrom saref:Measurement . + +s4bldg:EvaporativeCooler rdfs:subClassOf _:genid149 . + +_:genid149 a owl:Restriction ; + owl:onProperty s4bldg:flowArrangement ; + owl:allValuesFrom xsd:string . + +s4bldg:EvaporativeCooler rdfs:comment "An evaporative cooler is a device that cools air by saturating it with water vapor."@en ; + rdfs:label "Evaporative cooler"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporativeCooler" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporativecooler.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporativecoolertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Evaporator + +s4bldg:Evaporator a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid150 . + +_:genid150 a owl:Restriction ; + owl:onProperty s4bldg:externalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid151 . + +_:genid151 a owl:Restriction ; + owl:onProperty s4bldg:internalRefrigerantVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid152 . + +_:genid152 a owl:Restriction ; + owl:onProperty s4bldg:internalSurfaceArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid153 . + +_:genid153 a owl:Restriction ; + owl:onProperty s4bldg:internalWaterVolume ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid154 . + +_:genid154 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferArea ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid155 . + +_:genid155 a owl:Restriction ; + owl:onProperty s4bldg:nominalHeatTransferCoefficient ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Evaporator rdfs:subClassOf _:genid156 . + +_:genid156 a owl:Restriction ; + owl:onProperty s4bldg:evaporationCoolant ; + owl:allValuesFrom xsd:string . + +s4bldg:Evaporator rdfs:subClassOf _:genid157 . + +_:genid157 a owl:Restriction ; + owl:onProperty s4bldg:evaporationMediumType ; + owl:allValuesFrom xsd:string . + +s4bldg:Evaporator rdfs:subClassOf _:genid158 . + +_:genid158 a owl:Restriction ; + owl:onProperty s4bldg:refrigerantClass ; + owl:allValuesFrom xsd:string . + +s4bldg:Evaporator rdfs:comment "An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid."@en ; + rdfs:label "Evaporator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcEvaporator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcevaporator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_evaporatortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Fan + +s4bldg:Fan a owl:Class ; + rdfs:subClassOf s4bldg:FlowMovingDevice , _:genid159 . + +_:genid159 a owl:Restriction ; + owl:onProperty s4bldg:nominalAirFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid160 . + +_:genid160 a owl:Restriction ; + owl:onProperty s4bldg:nominalPowerRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid161 . + +_:genid161 a owl:Restriction ; + owl:onProperty s4bldg:nominalRotationSpeed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid162 . + +_:genid162 a owl:Restriction ; + owl:onProperty s4bldg:nominalStaticPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid163 . + +_:genid163 a owl:Restriction ; + owl:onProperty s4bldg:nominalTotalPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid164 . + +_:genid164 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid165 . + +_:genid165 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid166 . + +_:genid166 a owl:Restriction ; + owl:onProperty s4bldg:operationalRiterial ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Fan rdfs:subClassOf _:genid167 . + +_:genid167 a owl:Restriction ; + owl:onProperty s4bldg:capacityControlType ; + owl:allValuesFrom xsd:string . + +s4bldg:Fan rdfs:subClassOf _:genid168 . + +_:genid168 a owl:Restriction ; + owl:onProperty s4bldg:motorDriveType ; + owl:allValuesFrom xsd:string . + +s4bldg:Fan rdfs:comment "A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system."@en ; + rdfs:label "Fan"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFan" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfan.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_fantypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Filter + +s4bldg:Filter a owl:Class ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice , _:genid169 . + +_:genid169 a owl:Restriction ; + owl:onProperty s4bldg:finalResistance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid170 . + +_:genid170 a owl:Restriction ; + owl:onProperty s4bldg:fluidFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid171 . + +_:genid171 a owl:Restriction ; + owl:onProperty s4bldg:fluidFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid172 . + +_:genid172 a owl:Restriction ; + owl:onProperty s4bldg:initialResistance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid173 . + +_:genid173 a owl:Restriction ; + owl:onProperty s4bldg:nominalFilterFaceVelocity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid174 . + +_:genid174 a owl:Restriction ; + owl:onProperty s4bldg:nominalFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid175 . + +_:genid175 a owl:Restriction ; + owl:onProperty s4bldg:nominalMediaSurfaceVelocity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid176 . + +_:genid176 a owl:Restriction ; + owl:onProperty s4bldg:nominalParticleGeometricMeanDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid177 . + +_:genid177 a owl:Restriction ; + owl:onProperty s4bldg:nominalParticleGeometricStandardDeviation ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid178 . + +_:genid178 a owl:Restriction ; + owl:onProperty s4bldg:nominalPressureDrop ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid179 . + +_:genid179 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid180 . + +_:genid180 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:subClassOf _:genid181 . + +_:genid181 a owl:Restriction ; + owl:onProperty s4bldg:weight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Filter rdfs:comment "A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases."@en ; + rdfs:label "Filter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFilter" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcfilter.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_filtertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FireSuppressionTerminal + +s4bldg:FireSuppressionTerminal a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment """A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. + +A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire."""@en ; + rdfs:label "Fire suppression terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFireSuppressionTerminal" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcfiresuppressionterminal.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_firesuppressionterminaltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowController + +s4bldg:FlowController a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowController defines the occurrence of elements of a distribution system that are used to regulate flow through a distribution system. Examples include dampers, valves, switches, and relays."@en ; + rdfs:label "Flow controller"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowController" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowcontroller.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowInstrument + +s4bldg:FlowInstrument a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. + +Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.)"""@en ; + rdfs:label "Flow instrument"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowInstrument" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcflowinstrument.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_flowinstrumenttypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowMeter + +s4bldg:FlowMeter a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid182 . + +_:genid182 a owl:Restriction ; + owl:onProperty s4bldg:readOutType ; + owl:allValuesFrom xsd:string . + +s4bldg:FlowMeter rdfs:subClassOf _:genid183 . + +_:genid183 a owl:Restriction ; + owl:onProperty s4bldg:remoteReading ; + owl:allValuesFrom xsd:boolean . + +s4bldg:FlowMeter rdfs:comment "A flow meter is a device that is used to measure the flow rate in a system."@en ; + rdfs:label "Flow meter"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMeter" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcflowmeter.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_flowmetertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowMovingDevice + +s4bldg:FlowMovingDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system."@en ; + rdfs:label "Flow moving device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowMovingDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowmovingdevice.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowStorageDevice + +s4bldg:FlowStorageDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowStorageDevice defines the occurrence of a device that participates in a distribution system and is used for temporary storage (such as a tank)."@en ; + rdfs:label "Flow storage device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowStorageDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowstoragedevice.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowTerminal + +s4bldg:FlowTerminal a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowTerminal defines the occurrence of a permanently attached element that acts as a terminus or beginning of a distribution system (such as an air outlet, drain, water closet, or sink). A terminal is typically a point at which a system interfaces with an external environment."@en ; + rdfs:label "Flow terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTerminal" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowterminal.htm> . +# +# https://saref.etsi.org/saref4bldg#FlowTreatmentDevice + +s4bldg:FlowTreatmentDevice a owl:Class ; + rdfs:subClassOf s4bldg:DistributionFlowDevice ; + rdfs:comment "The distribution flow element FlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system."@en ; + rdfs:label "Flow treatment device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcFlowTreatmentDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgserviceelements/lexical/ifcflowtreatmentdevice.htm> . +# +# https://saref.etsi.org/saref4bldg#HeatExchanger + +s4bldg:HeatExchanger a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid184 . + +_:genid184 a owl:Restriction ; + owl:onProperty s4bldg:arrangement ; + owl:allValuesFrom xsd:string . + +s4bldg:HeatExchanger rdfs:comment "A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. HeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas AirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air)."@en ; + rdfs:label "Heat exchanger"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHeatExchanger" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcheatexchanger.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_heatexchangertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Humidifier + +s4bldg:Humidifier a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid185 . + +_:genid185 a owl:Restriction ; + owl:onProperty s4bldg:nominalAirFlowRate ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid186 . + +_:genid186 a owl:Restriction ; + owl:onProperty s4bldg:nominalMoistureGain ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid187 . + +_:genid187 a owl:Restriction ; + owl:onProperty s4bldg:waterRequirement ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid188 . + +_:genid188 a owl:Restriction ; + owl:onProperty s4bldg:weight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Humidifier rdfs:subClassOf _:genid189 . + +_:genid189 a owl:Restriction ; + owl:onProperty s4bldg:application ; + owl:allValuesFrom xsd:string . + +s4bldg:Humidifier rdfs:subClassOf _:genid190 . + +_:genid190 a owl:Restriction ; + owl:onProperty s4bldg:internalControl ; + owl:allValuesFrom xsd:string . + +s4bldg:Humidifier rdfs:comment "A humidifier is a device that adds moisture into the air."@en ; + rdfs:label "Humidifier"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcHumidifier" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifchumidifier.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_humidifiertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Interceptor + +s4bldg:Interceptor a owl:Class ; + rdfs:subClassOf s4bldg:FlowTreatmentDevice , _:genid191 . + +_:genid191 a owl:Restriction ; + owl:onProperty s4bldg:coverLength ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid192 . + +_:genid192 a owl:Restriction ; + owl:onProperty s4bldg:coverWidth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid193 . + +_:genid193 a owl:Restriction ; + owl:onProperty s4bldg:inletConnectionSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid194 . + +_:genid194 a owl:Restriction ; + owl:onProperty s4bldg:nominalBodyDepth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid195 . + +_:genid195 a owl:Restriction ; + owl:onProperty s4bldg:nominalBodyLength ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid196 . + +_:genid196 a owl:Restriction ; + owl:onProperty s4bldg:nominalBodyWidth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid197 . + +_:genid197 a owl:Restriction ; + owl:onProperty s4bldg:outletConnectionSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:subClassOf _:genid198 . + +_:genid198 a owl:Restriction ; + owl:onProperty s4bldg:ventilatingPipeSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Interceptor rdfs:comment "An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity."@en ; + rdfs:label "Interceptor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcInterceptor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcinterceptor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_interceptortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Lamp + +s4bldg:Lamp a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid199 . + +_:genid199 a owl:Restriction ; + owl:onProperty s4bldg:colorTemperature ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid200 . + +_:genid200 a owl:Restriction ; + owl:onProperty s4bldg:contributedLuminousFlux ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid201 . + +_:genid201 a owl:Restriction ; + owl:onProperty s4bldg:lampMaintenanceFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid202 . + +_:genid202 a owl:Restriction ; + owl:onProperty s4bldg:lightEmitterNominalPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid203 . + +_:genid203 a owl:Restriction ; + owl:onProperty s4bldg:spectrumMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid204 . + +_:genid204 a owl:Restriction ; + owl:onProperty s4bldg:spectrumMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Lamp rdfs:subClassOf _:genid205 . + +_:genid205 a owl:Restriction ; + owl:onProperty s4bldg:colorAppearance ; + owl:allValuesFrom xsd:string . + +s4bldg:Lamp rdfs:subClassOf _:genid206 . + +_:genid206 a owl:Restriction ; + owl:onProperty s4bldg:colorRenderingIndex ; + owl:allValuesFrom xsd:integer . + +s4bldg:Lamp rdfs:subClassOf _:genid207 . + +_:genid207 a owl:Restriction ; + owl:onProperty s4bldg:lampBallastType ; + owl:allValuesFrom xsd:string . + +s4bldg:Lamp rdfs:subClassOf _:genid208 . + +_:genid208 a owl:Restriction ; + owl:onProperty s4bldg:lampCompensationType ; + owl:allValuesFrom xsd:string . + +s4bldg:Lamp rdfs:comment "A lamp is an artificial light source such as a light bulb or tube."@en ; + rdfs:label "Lamp"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcLamp" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifclamp.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_lamptypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#MedicalDevice + +s4bldg:MedicalDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment "A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide."@en ; + rdfs:label "Medical device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcMedicalDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcmedicaldevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_medicaldevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Outlet + +s4bldg:Outlet a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid209 . + +_:genid209 a owl:Restriction ; + owl:onProperty s4bldg:isPluggableOutlet ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Outlet rdfs:subClassOf _:genid210 . + +_:genid210 a owl:Restriction ; + owl:onProperty s4bldg:numberOsSockets ; + owl:allValuesFrom xsd:integer . + +s4bldg:Outlet rdfs:comment """An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. + +Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture."""@en ; + rdfs:label "Outlet"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcOutlet" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcoutlet.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_outlettypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#PhysicalObject + +s4bldg:PhysicalObject a owl:Class ; + rdfs:subClassOf _:genid211 . + +_:genid211 a owl:Restriction ; + owl:onProperty s4bldg:contains ; + owl:allValuesFrom s4bldg:PhysicalObject . + +s4bldg:PhysicalObject rdfs:subClassOf _:genid212 . + +_:genid212 a owl:Restriction ; + owl:onProperty s4bldg:isContainedIn ; + owl:allValuesFrom _:genid213 . + +_:genid213 a owl:Class ; + owl:unionOf _:genid215 . + +_:genid215 a rdf:List ; + rdf:first s4bldg:BuildingSpace ; + rdf:rest _:genid214 . + +_:genid214 a rdf:List ; + rdf:first s4bldg:PhysicalObject ; + rdf:rest rdf:nil . + +s4bldg:PhysicalObject rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en . +# +# https://saref.etsi.org/saref4bldg#ProtectiveDevice + +s4bldg:ProtectiveDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowController ; + rdfs:comment """A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. + +A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection."""@en ; + rdfs:label "Protective device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ProtectiveDeviceTrippingUnit + +s4bldg:ProtectiveDeviceTrippingUnit a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice , _:genid216 . + +_:genid216 a owl:Restriction ; + owl:onProperty s4bldg:limitingTerminalSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ProtectiveDeviceTrippingUnit rdfs:subClassOf _:genid217 . + +_:genid217 a owl:Restriction ; + owl:onProperty s4bldg:standard ; + owl:allValuesFrom xsd:string . + +s4bldg:ProtectiveDeviceTrippingUnit rdfs:comment "A protective device tripping unit breaks an electrical circuit at a separate breaking unit when a stated electric current that passes through the unit is exceeded."@en ; + rdfs:label "Protective device tripping unit"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcProtectiveDeviceTrippingUnit" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcprotectivedevicetrippingunit.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_protectivedevicetrippingunittypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Pump + +s4bldg:Pump a owl:Class ; + rdfs:subClassOf s4bldg:FlowMovingDevice , _:genid218 . + +_:genid218 a owl:Restriction ; + owl:onProperty s4bldg:connectionSize ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid219 . + +_:genid219 a owl:Restriction ; + owl:onProperty s4bldg:flowResistanceMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid220 . + +_:genid220 a owl:Restriction ; + owl:onProperty s4bldg:flowResistanceMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid221 . + +_:genid221 a owl:Restriction ; + owl:onProperty s4bldg:netPositiveSuctionHead ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid222 . + +_:genid222 a owl:Restriction ; + owl:onProperty s4bldg:nomminalRotationSpeed ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid223 . + +_:genid223 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid224 . + +_:genid224 a owl:Restriction ; + owl:onProperty s4bldg:operationTemperatureMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid225 . + +_:genid225 a owl:Restriction ; + owl:onProperty s4bldg:pumpFlowRateMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:subClassOf _:genid226 . + +_:genid226 a owl:Restriction ; + owl:onProperty s4bldg:pumpFlowRateMin ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Pump rdfs:comment "A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system."@en ; + rdfs:label "Pump"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcPump" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcpump.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_pumptypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SanitaryTerminal + +s4bldg:SanitaryTerminal a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal ; + rdfs:comment "A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal."@en ; + rdfs:label "Sanitary terminal"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSanitaryTerminal" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/lexical/ifcsanitaryterminal.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcplumbingfireprotectiondomain/pset/pset_sanitaryterminaltypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Sensor + +s4bldg:Sensor a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice , saref:Sensor ; + rdfs:comment "A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument."@en ; + rdfs:label "Sensor"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSensor" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcsensor.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_sensortypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#ShadingDevice + +s4bldg:ShadingDevice a owl:Class ; + rdfs:subClassOf s4bldg:BuildingDevice , _:genid227 . + +_:genid227 a owl:Restriction ; + owl:onProperty s4bldg:solarReflectance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid228 . + +_:genid228 a owl:Restriction ; + owl:onProperty s4bldg:solarTransmittance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid229 . + +_:genid229 a owl:Restriction ; + owl:onProperty s4bldg:thermalTransmittance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid230 . + +_:genid230 a owl:Restriction ; + owl:onProperty s4bldg:visibleLightReflectance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid231 . + +_:genid231 a owl:Restriction ; + owl:onProperty s4bldg:visibleLightTransmittance ; + owl:allValuesFrom saref:Measurement . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid232 . + +_:genid232 a owl:Restriction ; + owl:onProperty s4bldg:isExternal ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid233 . + +_:genid233 a owl:Restriction ; + owl:onProperty s4bldg:mechanicalOperated ; + owl:allValuesFrom xsd:boolean . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid234 . + +_:genid234 a owl:Restriction ; + owl:onProperty s4bldg:roughness ; + owl:allValuesFrom xsd:string . + +s4bldg:ShadingDevice rdfs:subClassOf _:genid235 . + +_:genid235 a owl:Restriction ; + owl:onProperty s4bldg:shadingDeviceType ; + owl:allValuesFrom xsd:string . + +s4bldg:ShadingDevice rdfs:comment "Shading devices are purpose built devices to protect from the sunlight, from natural light, or screening them from view. Shading devices can form part of the facade or can be mounted inside the building, they can be fixed or operable."@en ; + rdfs:label "Shading device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcShadingDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/lexical/ifcshadingdevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcsharedbldgelements/pset/pset_shadingdevicecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SolarDevice + +s4bldg:SolarDevice a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice ; + rdfs:comment "A solar device converts solar radiation into other energy such as electric current or thermal energy."@en ; + rdfs:label "Solar device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSolarDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcsolardevicetypeenum.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_solardevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SpaceHeater + +s4bldg:SpaceHeater a owl:Class ; + rdfs:subClassOf s4bldg:FlowTerminal , _:genid236 . + +_:genid236 a owl:Restriction ; + owl:onProperty s4bldg:bodyMass ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid237 . + +_:genid237 a owl:Restriction ; + owl:onProperty s4bldg:outputCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid238 . + +_:genid238 a owl:Restriction ; + owl:onProperty s4bldg:thermalEfficiency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid239 . + +_:genid239 a owl:Restriction ; + owl:onProperty s4bldg:thermalMassHeatCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid240 . + +_:genid240 a owl:Restriction ; + owl:onProperty s4bldg:energySource ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid241 . + +_:genid241 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferDimension ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid242 . + +_:genid242 a owl:Restriction ; + owl:onProperty s4bldg:heatTransferMedium ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid243 . + +_:genid243 a owl:Restriction ; + owl:onProperty s4bldg:numberOfPanels ; + owl:allValuesFrom xsd:integer . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid244 . + +_:genid244 a owl:Restriction ; + owl:onProperty s4bldg:numberOfSections ; + owl:allValuesFrom xsd:integer . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid245 . + +_:genid245 a owl:Restriction ; + owl:onProperty s4bldg:placementType ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:subClassOf _:genid246 . + +_:genid246 a owl:Restriction ; + owl:onProperty s4bldg:temperatureClassification ; + owl:allValuesFrom xsd:string . + +s4bldg:SpaceHeater rdfs:comment """Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. + +UnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; Coil should be used for coil-based floor heating."""@en ; + rdfs:label "Space heater"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSpaceHeater" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcspaceheater.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_spaceheatertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#SwitchingDevice + +s4bldg:SwitchingDevice a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid247 . + +_:genid247 a owl:Restriction ; + owl:onProperty s4bldg:hasLock ; + owl:allValuesFrom xsd:boolean . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid248 . + +_:genid248 a owl:Restriction ; + owl:onProperty s4bldg:isIlluminated ; + owl:allValuesFrom xsd:boolean . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid249 . + +_:genid249 a owl:Restriction ; + owl:onProperty s4bldg:legend ; + owl:allValuesFrom xsd:string . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid250 . + +_:genid250 a owl:Restriction ; + owl:onProperty s4bldg:numberOfGangs ; + owl:allValuesFrom xsd:integer . + +s4bldg:SwitchingDevice rdfs:subClassOf _:genid251 . + +_:genid251 a owl:Restriction ; + owl:onProperty s4bldg:switchFunction ; + owl:allValuesFrom xsd:string . + +s4bldg:SwitchingDevice rdfs:comment """A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. + +Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports."""@en ; + rdfs:label "Switching device"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcSwitchingDevice" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifcswitchingdevice.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_switchingdevicetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Tank + +s4bldg:Tank a owl:Class ; + rdfs:subClassOf s4bldg:FlowStorageDevice , _:genid252 . + +_:genid252 a owl:Restriction ; + owl:onProperty s4bldg:effectiveCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid253 . + +_:genid253 a owl:Restriction ; + owl:onProperty s4bldg:firstCurvatureRadius ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid254 . + +_:genid254 a owl:Restriction ; + owl:onProperty s4bldg:nominalDepth ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid255 . + +_:genid255 a owl:Restriction ; + owl:onProperty s4bldg:nominalLengthOrDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid256 . + +_:genid256 a owl:Restriction ; + owl:onProperty s4bldg:nominalVolumetricCapacity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid257 . + +_:genid257 a owl:Restriction ; + owl:onProperty s4bldg:nominalWidthOrDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid258 . + +_:genid258 a owl:Restriction ; + owl:onProperty s4bldg:operatingWeight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid259 . + +_:genid259 a owl:Restriction ; + owl:onProperty s4bldg:secondCurvatureRadius ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Tank rdfs:subClassOf _:genid260 . + +_:genid260 a owl:Restriction ; + owl:onProperty s4bldg:accessType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:subClassOf _:genid261 . + +_:genid261 a owl:Restriction ; + owl:onProperty s4bldg:endShapeType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:subClassOf _:genid262 . + +_:genid262 a owl:Restriction ; + owl:onProperty s4bldg:numberOfSections ; + owl:allValuesFrom xsd:integer . + +s4bldg:Tank rdfs:subClassOf _:genid263 . + +_:genid263 a owl:Restriction ; + owl:onProperty s4bldg:patternType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:subClassOf _:genid264 . + +_:genid264 a owl:Restriction ; + owl:onProperty s4bldg:storageType ; + owl:allValuesFrom xsd:string . + +s4bldg:Tank rdfs:comment "A tank is a vessel or container in which a fluid or gas is stored for later use."@en ; + rdfs:label "Tank"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTank" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctank.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tanktypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Transformer + +s4bldg:Transformer a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid265 . + +_:genid265 a owl:Restriction ; + owl:onProperty s4bldg:apparentPowerMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid266 . + +_:genid266 a owl:Restriction ; + owl:onProperty s4bldg:imaginaryImpedanceRatio ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid267 . + +_:genid267 a owl:Restriction ; + owl:onProperty s4bldg:primaryApparentPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid268 . + +_:genid268 a owl:Restriction ; + owl:onProperty s4bldg:primaryCurrent ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid269 . + +_:genid269 a owl:Restriction ; + owl:onProperty s4bldg:primaryFrequency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid270 . + +_:genid270 a owl:Restriction ; + owl:onProperty s4bldg:primaryVoltage ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid271 . + +_:genid271 a owl:Restriction ; + owl:onProperty s4bldg:realImpedanceRatio ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid272 . + +_:genid272 a owl:Restriction ; + owl:onProperty s4bldg:secondaryApparentPower ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid273 . + +_:genid273 a owl:Restriction ; + owl:onProperty s4bldg:secondaryCurrent ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid274 . + +_:genid274 a owl:Restriction ; + owl:onProperty s4bldg:secondaryFrequency ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid275 . + +_:genid275 a owl:Restriction ; + owl:onProperty s4bldg:secondaryVoltage ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Transformer rdfs:subClassOf _:genid276 . + +_:genid276 a owl:Restriction ; + owl:onProperty s4bldg:isNeutralPrimaryTerminalAvailable ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Transformer rdfs:subClassOf _:genid277 . + +_:genid277 a owl:Restriction ; + owl:onProperty s4bldg:isNeutralSecondaryTerminalAvailable ; + owl:allValuesFrom xsd:boolean . + +s4bldg:Transformer rdfs:subClassOf _:genid278 . + +_:genid278 a owl:Restriction ; + owl:onProperty s4bldg:secondaryCurrentType ; + owl:allValuesFrom xsd:string . + +s4bldg:Transformer rdfs:subClassOf _:genid279 . + +_:genid279 a owl:Restriction ; + owl:onProperty s4bldg:transformerVectorGroup ; + owl:allValuesFrom xsd:string . + +s4bldg:Transformer rdfs:comment """A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. + +Transformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: Controller converts arbitrary signals, AudioVisualAppliance converts signals for audio or video streams, and CommunicationsAppliance converts signals for data or other communications usage."""@en ; + rdfs:label "Transformer"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransformer" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/lexical/ifctransformer.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcelectricaldomain/pset/pset_transformertypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#TransportElement + +s4bldg:TransportElement a owl:Class ; + rdfs:subClassOf saref:Device , _:genid280 . + +_:genid280 a owl:Restriction ; + owl:onProperty s4bldg:capacityWeight ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TransportElement rdfs:subClassOf _:genid281 . + +_:genid281 a owl:Restriction ; + owl:onProperty s4bldg:capacityPeople ; + owl:allValuesFrom xsd:positiveInteger . + +s4bldg:TransportElement rdfs:subClassOf _:genid282 . + +_:genid282 a owl:Restriction ; + owl:onProperty s4bldg:fireExit ; + owl:allValuesFrom xsd:boolean . + +s4bldg:TransportElement rdfs:comment "A transport element is a generalization of all transport related objects that move people, animals or goods within a building or building complex. The TransportElement defines the occurrence of a transport element. "@en ; + rdfs:label "Transport element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTransportElement" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/lexical/ifctransportelement.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcproductextension/pset/pset_transportelementcommon.htm> . +# +# https://saref.etsi.org/saref4bldg#TubeBundle + +s4bldg:TubeBundle a owl:Class ; + rdfs:subClassOf s4bldg:EnergyConversionDevice , _:genid283 . + +_:genid283 a owl:Restriction ; + owl:onProperty s4bldg:foulingFactor ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid284 . + +_:genid284 a owl:Restriction ; + owl:onProperty s4bldg:horizontalSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid285 . + +_:genid285 a owl:Restriction ; + owl:onProperty s4bldg:inLineRowSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid286 . + +_:genid286 a owl:Restriction ; + owl:onProperty s4bldg:insideDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid287 . + +_:genid287 a owl:Restriction ; + owl:onProperty s4bldg:length ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid288 . + +_:genid288 a owl:Restriction ; + owl:onProperty s4bldg:nominalDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid289 . + +_:genid289 a owl:Restriction ; + owl:onProperty s4bldg:outsideDiameter ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid290 . + +_:genid290 a owl:Restriction ; + owl:onProperty s4bldg:staggeredRowSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid291 . + +_:genid291 a owl:Restriction ; + owl:onProperty s4bldg:thermalConductivity ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid292 . + +_:genid292 a owl:Restriction ; + owl:onProperty s4bldg:verticalSpacing ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid293 . + +_:genid293 a owl:Restriction ; + owl:onProperty s4bldg:volumen ; + owl:allValuesFrom saref:Measurement . + +s4bldg:TubeBundle rdfs:subClassOf _:genid294 . + +_:genid294 a owl:Restriction ; + owl:onProperty s4bldg:hasTurbulator ; + owl:allValuesFrom xsd:boolean . + +s4bldg:TubeBundle rdfs:subClassOf _:genid295 . + +_:genid295 a owl:Restriction ; + owl:onProperty s4bldg:numberOfCircuits ; + owl:allValuesFrom xsd:integer . + +s4bldg:TubeBundle rdfs:subClassOf _:genid296 . + +_:genid296 a owl:Restriction ; + owl:onProperty s4bldg:numberOfRows ; + owl:allValuesFrom xsd:integer . + +s4bldg:TubeBundle rdfs:comment "A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil."@en ; + rdfs:label "Tube bundle"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcTubeBundle" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifctubebundle.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_tubebundletypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#UnitaryControlElement + +s4bldg:UnitaryControlElement a owl:Class ; + rdfs:subClassOf s4bldg:DistributionControlDevice ; + rdfs:comment """A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. + +A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location."""@en ; + rdfs:label "Unitary control element"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcUnitaryControlElement" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/lexical/ifcunitarycontrolelement.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifcbuildingcontrolsdomain/pset/pset_unitarycontrolelementtypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#Valve + +s4bldg:Valve a owl:Class ; + rdfs:subClassOf s4bldg:FlowController , _:genid297 . + +_:genid297 a owl:Restriction ; + owl:onProperty s4bldg:closeOffRating ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid298 . + +_:genid298 a owl:Restriction ; + owl:onProperty s4bldg:flowCoefficient ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid299 . + +_:genid299 a owl:Restriction ; + owl:onProperty s4bldg:size ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid300 . + +_:genid300 a owl:Restriction ; + owl:onProperty s4bldg:testPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid301 . + +_:genid301 a owl:Restriction ; + owl:onProperty s4bldg:workingPressure ; + owl:allValuesFrom saref:Measurement . + +s4bldg:Valve rdfs:subClassOf _:genid302 . + +_:genid302 a owl:Restriction ; + owl:onProperty s4bldg:valveMechanism ; + owl:allValuesFrom xsd:string . + +s4bldg:Valve rdfs:subClassOf _:genid303 . + +_:genid303 a owl:Restriction ; + owl:onProperty s4bldg:valveOperation ; + owl:allValuesFrom xsd:string . + +s4bldg:Valve rdfs:subClassOf _:genid304 . + +_:genid304 a owl:Restriction ; + owl:onProperty s4bldg:valvePattern ; + owl:allValuesFrom xsd:string . + +s4bldg:Valve rdfs:comment "A valve is used in a building services piping distribution system to control or modulate the flow of the fluid."@en ; + rdfs:label "Valve"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcValve" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvalve.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_valvetypecommon.htm> . +# +# https://saref.etsi.org/saref4bldg#VibrationIsolator + +s4bldg:VibrationIsolator a owl:Class ; + rdfs:subClassOf saref:Device , _:genid305 . + +_:genid305 a owl:Restriction ; + owl:onProperty s4bldg:height ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid306 . + +_:genid306 a owl:Restriction ; + owl:onProperty s4bldg:isolatorCompressibility ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid307 . + +_:genid307 a owl:Restriction ; + owl:onProperty s4bldg:isolatorStaticDeflection ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid308 . + +_:genid308 a owl:Restriction ; + owl:onProperty s4bldg:supportedWeightMax ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:subClassOf _:genid309 . + +_:genid309 a owl:Restriction ; + owl:onProperty s4bldg:vibrationTransmissibility ; + owl:allValuesFrom saref:Measurement . + +s4bldg:VibrationIsolator rdfs:comment "A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building."@en ; + rdfs:label "Vibration isolator"@en ; + rdfs:seeAlso "https://w3id.org/ifc/IFC4_ADD1#IfcVibrationIsolator" ; + prov:hadPrimarySource <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/lexical/ifcvibrationisolator.htm> , <http://www.buildingsmart-tech.org/ifc/IFC4/Add1/html/schema/ifchvacdomain/pset/pset_vibrationisolatortypecommon.htm> . +# +# https://w3id.org/saref#Actuator + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Actuator"@en . +# +# https://w3id.org/saref#Device + +saref:Device a owl:Class ; + rdfs:subClassOf s4bldg:PhysicalObject ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Device"@en . +# +# https://w3id.org/saref#Measurement + +saref:Measurement a owl:Class ; + rdfs:subClassOf _:genid310 . + +_:genid310 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid311 . + +_:genid311 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property . + +saref:Measurement rdfs:subClassOf _:genid312 . + +_:genid312 a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure . + +saref:Measurement rdfs:subClassOf _:genid313 . + +_:genid313 a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property . + +saref:Measurement rdfs:subClassOf _:genid314 . + +_:genid314 a owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime . + +saref:Measurement rdfs:subClassOf _:genid315 . + +_:genid315 a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float . + +saref:Measurement owl:disjointWith saref:Property , saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Measurement"@en . +# +# https://w3id.org/saref#Property + +saref:Property a owl:Class ; + owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "Property"@en . +# +# https://w3id.org/saref#Sensor + +saref:Sensor a owl:Class ; + rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Sensor"@en . +# +# https://w3id.org/saref#UnitOfMeasure + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Unit of measure"@en . +# +# Generated by the OWL API (version 4.2.5.20160517-0735) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4city/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4city/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4city/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4city/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.html b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.html new file mode 100644 index 0000000000000000000000000000000000000000..cb126aa20127f845808c78205b7ea33c35d5556f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF extension for Smart City</h1> + <p><strong>Official ETSI documentation for SAREF4CITY v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4CITY ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4CITY v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4city.ttl">Turtle</a> or <a href="./saref4city.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4city#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.n3 b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.n3 new file mode 100644 index 0000000000000000000000000000000000000000..d1c43567a3639b656fc7e9767c56eabb1c611500 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.n3 @@ -0,0 +1,608 @@ +@prefix s4city: <https://saref.etsi.org/saref4city#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix geosp: <http://www.opengis.net/ont/geosparql#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix prov: <http://www.w3.org/ns/prov#> . +@prefix cpsv: <http://purl.org/vocab/cpsv#> . + +s4city:isAvailableInLanguage + a owl:ObjectProperty ; + rdfs:label "is available in language"@en . + +s4city: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <https://www.linkedin.com/in/paolaespinoza-arias/> , <http://www.garcia-castro.com/foaf.rdf#me> , <http://w3id.org/people/mpoveda> ; + dcterms:description "This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4city/> , <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341004/01.01.01_60/ts_10341004v010101p.pdf> ; + dcterms:title "SAREF extension for Smart City"@en ; + vann:preferredNamespacePrefix "s4city" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4city#" ; + owl:versionIRI <https://saref.etsi.org/saref4city/v1.1.1/saref4city#> ; + owl:versionInfo "1.1.1" . + +s4city:CityObject a owl:Class ; + rdfs:comment "Generic class for describing city objects."@en ; + rdfs:label "City object"@en ; + rdfs:subClassOf geosp:Feature . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured in"@en . + +s4city:PublicAdministration + a owl:Class ; + rdfs:comment "Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)"@en ; + rdfs:label "Public administration"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q31728> ; + rdfs:subClassOf <http://www.w3.org/ns/org#Organization> . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "makes measurement"@en ; + owl:inverseOf saref:measurementMadeBy . + +geosp:sfWithin a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "within"@en . + +time:Instant a owl:Class ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Instant"@en ; + rdfs:subClassOf time:TemporalEntity . + +s4city:isOrganizedBy a owl:ObjectProperty ; + rdfs:label "is organized by"@en . + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:label "is property of"@en . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:measurementMadeBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:hasFeatureOfInterest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + owl:disjointWith saref:Property , saref:UnitOfMeasure . + +s4city:isDerivedFrom a owl:ObjectProperty ; + rdfs:label "is derived from"@en . + +saref:isMeasuredByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured by device"@en . + +s4city:Event a owl:Class ; + rdfs:comment "Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)"@en ; + rdfs:label "Event"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q1656682> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Event ; + owl:onProperty s4city:isSubEventOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Agent ; + owl:onProperty s4city:isOrganizedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Facility ; + owl:onProperty s4city:takesPlaceAtFacility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom time:TemporalEntity ; + owl:onProperty s4city:takesPlaceAtTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.w3.org/2004/02/skos/core#Concept> ; + owl:onProperty s4city:hasAccesibility + ] . + +s4city:hasKPI a owl:ObjectProperty ; + rdfs:label "has key performance indicator"@en ; + owl:inverseOf s4city:isKPIOf . + +vann:preferredNamespaceUri + a owl:AnnotationProperty . + +geosp:Feature a owl:Class ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Feature"@en ; + rdfs:subClassOf geosp:SpatialObject ; + owl:disjointWith geosp:Geometry . + +s4city:hasCalculationPeriod + a owl:ObjectProperty ; + rdfs:label "has calculation period"@en . + +cpsv:provides a owl:ObjectProperty ; + rdfs:comment "The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "provides"@en . + +s4city:takesPlaceAtFacility + a owl:ObjectProperty ; + rdfs:label "takes place at facility"@en . + +geo:lat a rdf:Property ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:domain geo:SpatialThing ; + rdfs:label "latitude" . + +geo:Point a owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84." , " \nUniquely identified by lat/long/alt. i.e.\n\nspaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),\n lat(P2, LAT), long(P2, LONG), alt(P2, ALT).\n\nsameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).\n " ; + rdfs:isDefinedBy geo: ; + rdfs:label "Point"@en ; + rdfs:subClassOf geosp:Geometry . + +s4city:Facility a owl:Class ; + rdfs:comment "A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)"@en ; + rdfs:label "Facility"@en ; + rdfs:subClassOf geosp:Feature . + +dcterms:creator a owl:AnnotationProperty . + +s4city:hasExpirationDate + a owl:DatatypeProperty ; + rdfs:label "has expiration date"@en ; + rdfs:range xsd:dateTime . + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has timestamp"@en . + +dcterms:title a owl:AnnotationProperty . + +cpsv:PublicService a owl:Class ; + rdfs:comment "This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "Public Service"@en . + +geosp:hasGeometry a owl:ObjectProperty ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:isDefinedBy geosp: ; + rdfs:label "has geometry"@en . + +geosp:sfContains a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "contains"@en . + +s4city:assesses a owl:ObjectProperty ; + rdfs:label "assesses"@en . + +s4city:refersToTime a owl:ObjectProperty ; + rdfs:label "refers to time"@en . + +geo:location a owl:ObjectProperty , rdf:Property ; + rdfs:comment "The relation between something and the point, \n or other geometrical thing in space, where it is. For example, the realtionship between\n a radio tower and a Point with a given lat and long.\n Or a relationship between a park and its outline as a closed arc of points, or a road and\n its location as a arc (a sequence of points).\n Clearly in practice there will be limit to the accuracy of any such statement, but one would expect\n an accuracy appropriate for the size of the object and uses such as mapping .\n " ; + rdfs:label "location"@en . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "measures property"@en . + +dcterms:contributor a owl:AnnotationProperty . + +<http://www.w3.org/2004/02/skos/core#Concept> + a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/2004/02/skos/core#> . + +s4city:Neighbourhood a owl:Class ; + rdfs:comment "A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)"@en ; + rdfs:label "Neighbourhood"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +<http://www.w3.org/ns/org#Organization> + a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/ns/org#> ; + rdfs:label "Organization"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +s4city:hasAccesibility + a owl:ObjectProperty ; + rdfs:label "has accesibility"@en . + +s4city:refersToFeature + a owl:ObjectProperty ; + rdfs:comment "Relation between a KPI assessment and the geographical feature it refers to"@en ; + rdfs:label "refers to feature"@en . + +s4city:isKPIOf a owl:ObjectProperty ; + rdfs:label "is key performance indicator of"@en . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +geo:long a rdf:Property ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:domain geo:SpatialThing ; + rdfs:label "longitude" . + +s4city:KeyPerformanceIndicator + a owl:Class ; + rdfs:comment "A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)"@en ; + rdfs:label "Key Performance Indicator"@en ; + rdfs:seeAlso <http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty s4city:isKPIOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom time:TemporalEntity ; + owl:onProperty s4city:hasCalculationPeriod + ] . + +s4city:involvesFacility + a owl:ObjectProperty ; + rdfs:label "involves facility"@en . + +time:TemporalEntity a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Temporal entity"@en . + +saref:hasProperty a owl:ObjectProperty ; + rdfs:label "has property"@en ; + owl:inverseOf saref:isPropertyOf . + +saref:FeatureOfInterest + a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:hasProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ; + owl:onProperty s4city:hasKPI + ] . + +geo:alt a rdf:Property ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:domain geo:SpatialThing ; + rdfs:label "altitude" . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . + +saref:isFeatureOfInterestOf + a owl:ObjectProperty ; + rdfs:label "is feature of interest of"@en . + +<http://xmlns.com/foaf/0.1/Agent> + a owl:Class ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Agent"@en . + +s4city:AdministrativeArea + a owl:Class ; + rdfs:comment "An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)"@en ; + rdfs:label "Administrative area"@en ; + rdfs:subClassOf geosp:Feature . + +saref:controlsProperty + a owl:ObjectProperty ; + rdfs:label "controls property"@en . + +saref:hasFeatureOfInterest + a owl:ObjectProperty ; + rdfs:label "has feature of interest"@en ; + owl:inverseOf saref:isFeatureOfInterestOf . + +saref:relatesToMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to measurement"@en . + +s4city:Agent a owl:Class ; + rdfs:comment "An agent making an action in the context of a city. An agent could be a person, software, etc."@en ; + rdfs:label "Agent"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:PublicService ; + owl:onProperty cpsv:uses + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:PublicService ; + owl:onProperty cpsv:provides + ] . + +s4city:quantifiesKPI a owl:ObjectProperty ; + rdfs:label "quantifies KPI"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to property"@en . + +cpsv:physicallyAvailableAt + a owl:ObjectProperty ; + rdfs:comment "A physical location at which a user may interact with the Public Service."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "physically available at"@en . + +geosp:Geometry a owl:Class ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en ; + rdfs:subClassOf geosp:SpatialObject . + +s4city:hasLastUpdateDate + a owl:DatatypeProperty ; + rdfs:label "has last update date"@en ; + rdfs:range xsd:dateTime . + +vann:preferredNamespacePrefix + a owl:AnnotationProperty . + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + +time:Interval a owl:Class ; + rdfs:isDefinedBy time: ; + rdfs:label "Time interval"@en , "A temporal entity with an extent or duration"@en ; + rdfs:subClassOf time:TemporalEntity . + +<http://xmlns.com/foaf/0.1/Person> + a owl:Class ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Person"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +s4city:Country a owl:Class ; + rdfs:comment "A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)"@en ; + rdfs:label "Country"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +s4city:takesPlaceAtTime + a owl:ObjectProperty ; + rdfs:label "takes place at time"@en . + +s4city:City a owl:Class ; + rdfs:comment "A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)"@en ; + rdfs:label "City"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +s4city:hasCreationDate + a owl:DatatypeProperty ; + rdfs:label "has creation date"@en ; + rdfs:range xsd:dateTime . + +geosp:SpatialObject a owl:Class ; + rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en . + +dcterms:description a owl:AnnotationProperty . + +s4city:isSubEventOf a owl:ObjectProperty ; + rdfs:label "is subevent of"@en . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.\nA device that has category saref:Sensor and performs a saref:SensingFunction."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en ; + rdfs:subClassOf saref:Device . + +saref:Property a owl:Class ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." , "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Property"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isMeasuredByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:relatesToMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isControlledByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:isPropertyOf + ] ; + owl:disjointWith saref:UnitOfMeasure . + +s4city:District a owl:Class ; + rdfs:comment "A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as \"districts\" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)"@en ; + rdfs:label "District"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +s4city:KeyPerformanceIndicatorAssessment + a owl:Class ; + rdfs:comment "A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time."@en ; + rdfs:label "Key performance indicator assessment"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4city:hasCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Agent ; + owl:onProperty s4city:isAssessedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4city:isDerivedFrom + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4city:hasExpirationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ; + owl:onProperty s4city:quantifiesKPI + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom time:TemporalEntity ; + owl:onProperty s4city:refersToTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4city:hasLastUpdateDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty s4city:assesses + ] . + +s4city:PublicService a owl:Class ; + rdfs:comment "Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)"@en ; + rdfs:label "Public service"@en ; + rdfs:seeAlso <https://en.wikipedia.org/wiki/Public_service> ; + rdfs:subClassOf cpsv:PublicService ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:AdministrativeArea ; + owl:onProperty cpsv:physicallyAvailableAt + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom dcterms:LinguisticSystem ; + owl:onProperty s4city:isAvailableInLanguage + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Facility ; + owl:onProperty s4city:involvesFacility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] . + +dcterms:LinguisticSystem + a owl:Class . + +saref:measurementMadeBy + a owl:ObjectProperty . + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en ; + rdfs:subClassOf saref:Device . + +cpsv:uses a owl:ObjectProperty ; + rdfs:comment "The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "uses"@en . + +s4city:isAssessedBy a owl:ObjectProperty ; + rdfs:label "is assessed by"@en . + +saref:isControlledByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is controlled by device"@en . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Device" ; + rdfs:subClassOf geosp:Feature ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:makesMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:controlsProperty + ] . diff --git a/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.rdf b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.rdf new file mode 100644 index 0000000000000000000000000000000000000000..32cdf95feb09c0ed4f918503245a8ac313290637 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.rdf @@ -0,0 +1,857 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:cpsv="http://purl.org/vocab/cpsv#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:prov="http://www.w3.org/ns/prov#" + xmlns:saref="https://w3id.org/saref#" + xmlns:geosp="http://www.opengis.net/ont/geosparql#" + xmlns:s4city="https://saref.etsi.org/saref4city#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4city#"> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4city/"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341004/01.01.01_60/ts_10341004v010101p.pdf"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4city/v1.1.1/saref4city#"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/paolaespinoza-arias/"/> + <vann:preferredNamespacePrefix>s4city</vann:preferredNamespacePrefix> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain.</dcterms:description> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <owl:versionInfo>1.1.1</owl:versionInfo> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4city#</vann:preferredNamespaceUri> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:contributor rdf:resource="http://w3id.org/people/mpoveda"/> + <dcterms:title xml:lang="en">SAREF extension for Smart City</dcterms:title> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + </owl:Ontology> + <owl:Class rdf:about="http://purl.org/vocab/cpsv#PublicService"> + <rdfs:label xml:lang="en">Public Service</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#PublicService"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#physicallyAvailableAt"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://purl.org/vocab/cpsv#PublicService"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://purl.org/dc/terms/LinguisticSystem"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAvailableInLanguage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Facility"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#involvesFacility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso rdf:resource="https://en.wikipedia.org/wiki/Public_service"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)</rdfs:comment> + <rdfs:label xml:lang="en">Public service</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicatorAssessment"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasCreationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Agent"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAssessedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isDerivedFrom"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasExpirationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Key performance indicator assessment</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicator"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#quantifiesKPI"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#refersToTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasLastUpdateDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#assesses"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#City"> + <rdfs:label xml:lang="en">City</rdfs:label> + <rdfs:comment xml:lang="en">A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#PublicAdministration"> + <rdfs:seeAlso rdf:resource="https://www.wikidata.org/wiki/Q31728"/> + <rdfs:label xml:lang="en">Public administration</rdfs:label> + <rdfs:comment xml:lang="en">Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/ns/org#Organization"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Event"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4city#Event"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isSubEventOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Agent"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isOrganizedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso rdf:resource="https://www.wikidata.org/wiki/Q1656682"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Facility"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtFacility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2004/02/skos/core#Concept"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasAccesibility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)</rdfs:comment> + <rdfs:label xml:lang="en">Event</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device responsible for moving or controlling a mechanism or system</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#District"> + <rdfs:label xml:lang="en">District</rdfs:label> + <rdfs:comment xml:lang="en">A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as "districts" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"> + <rdfs:label xml:lang="en">Temporal entity</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal interval or instant.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#SpatialObject"> + <rdfs:label xml:lang="en">SpatialObject</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"> + <rdfs:label xml:lang="en">Administrative area</rdfs:label> + <rdfs:comment xml:lang="en">An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measurementMadeBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasFeatureOfInterest"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2004/02/skos/core#Concept"> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2004/02/skos/core#"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Interval"> + <rdfs:label xml:lang="en">Time interval</rdfs:label> + <rdfs:label xml:lang="en">A temporal entity with an extent or duration</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Facility"> + <rdfs:label xml:lang="en">Facility</rdfs:label> + <rdfs:comment xml:lang="en">A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/org#Organization"> + <rdfs:label xml:lang="en">Organization</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/org#"/> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Neighbourhood"> + <rdfs:label xml:lang="en">Neighbourhood</rdfs:label> + <rdfs:comment xml:lang="en">A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"> + <rdfs:label xml:lang="en">Feature</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Country"> + <rdfs:label xml:lang="en">Country</rdfs:label> + <rdfs:comment xml:lang="en">A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Device"> + <rdfs:label>Device</rdfs:label> + <rdfs:comment>A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#controlsProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Agent"> + <rdfs:label xml:lang="en">Agent</rdfs:label> + <rdfs:comment xml:lang="en">An agent making an action in the context of a city. An agent could be a person, software, etc.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4city#PublicService"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#uses"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4city#PublicService"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#provides"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"> + <rdfs:label xml:lang="en">Person</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"> + <rdfs:label xml:lang="en">Geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Instant"> + <rdfs:label xml:lang="en">Instant</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal entity with zero extent or duration</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicator"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasKPI"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicator"> + <rdfs:seeAlso rdf:resource="http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html"/> + <rdfs:label xml:lang="en">Key Performance Indicator</rdfs:label> + <rdfs:comment xml:lang="en">A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#FeatureOfInterest"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isKPIOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasCalculationPeriod"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#CityObject"> + <rdfs:label xml:lang="en">City object</rdfs:label> + <rdfs:comment xml:lang="en">Generic class for describing city objects.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"> + <rdfs:label xml:lang="en">Agent</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Property"> + <rdfs:comment>Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Device"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Device"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isControlledByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#FeatureOfInterest"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isPropertyOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"> + <rdfs:label xml:lang="en">Point</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment>A point, typically described using a coordinate system relative to Earth, such as WGS84.</rdfs:comment> + <rdfs:comment> +Uniquely identified by lat/long/alt. i.e. + +spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), + lat(P2, LAT), long(P2, LONG), alt(P2, ALT). + +sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2). + </rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:Class> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:comment>The relation between something and the point, + or other geometrical thing in space, where it is. For example, the realtionship between + a radio tower and a Point with a given lat and long. + Or a relationship between a park and its outline as a closed arc of points, or a road and + its location as a arc (a sequence of points). + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect + an accuracy appropriate for the size of the object and uses such as mapping . + </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#controlsProperty"> + <rdfs:label xml:lang="en">controls property</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#refersToFeature"> + <rdfs:label xml:lang="en">refers to feature</rdfs:label> + <rdfs:comment xml:lang="en">Relation between a KPI assessment and the geographical feature it refers to</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isSubEventOf"> + <rdfs:label xml:lang="en">is subevent of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#involvesFacility"> + <rdfs:label xml:lang="en">involves facility</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"> + <rdfs:label xml:lang="en">has geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql#"/> + <rdfs:comment xml:lang="en">A spatial representation for a given feature.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isKPIOf"> + <rdfs:label xml:lang="en">is key performance indicator of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfContains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isFeatureOfInterestOf"> + <rdfs:label xml:lang="en">is feature of interest of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtTime"> + <rdfs:label xml:lang="en">takes place at time</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <owl:inverseOf rdf:resource="https://w3id.org/saref#measurementMadeBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfWithin"> + <rdfs:label xml:lang="en">within</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isOrganizedBy"> + <rdfs:label xml:lang="en">is organized by</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAvailableInLanguage"> + <rdfs:label xml:lang="en">is available in language</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#uses"> + <rdfs:label xml:lang="en">uses</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#physicallyAvailableAt"> + <rdfs:label xml:lang="en">physically available at</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">A physical location at which a user may interact with the Public Service.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isPropertyOf"> + <rdfs:label xml:lang="en">is property of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtFacility"> + <rdfs:label xml:lang="en">takes place at facility</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasFeatureOfInterest"> + <rdfs:label xml:lang="en">has feature of interest</rdfs:label> + <owl:inverseOf rdf:resource="https://w3id.org/saref#isFeatureOfInterestOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#assesses"> + <rdfs:label xml:lang="en">assesses</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasAccesibility"> + <rdfs:label xml:lang="en">has accesibility</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isControlledByDevice"> + <rdfs:label xml:lang="en">is controlled by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#refersToTime"> + <rdfs:label xml:lang="en">refers to time</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredByDevice"> + <rdfs:label xml:lang="en">is measured by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isDerivedFrom"> + <rdfs:label xml:lang="en">is derived from</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasCalculationPeriod"> + <rdfs:label xml:lang="en">has calculation period</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasProperty"> + <rdfs:label xml:lang="en">has property</rdfs:label> + <owl:inverseOf rdf:resource="https://w3id.org/saref#isPropertyOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#provides"> + <rdfs:label xml:lang="en">provides</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToMeasurement"> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#quantifiesKPI"> + <rdfs:label xml:lang="en">quantifies KPI</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAssessedBy"> + <rdfs:label xml:lang="en">is assessed by</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasKPI"> + <rdfs:label xml:lang="en">has key performance indicator</rdfs:label> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4city#isKPIOf"/> + </owl:ObjectProperty> + <rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#lat"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>latitude</rdfs:label> + <rdfs:comment>The WGS84 latitude of a SpatialThing (decimal degrees).</rdfs:comment> + </rdf:Property> + <rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#long"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>longitude</rdfs:label> + <rdfs:comment>The WGS84 longitude of a SpatialThing (decimal degrees).</rdfs:comment> + </rdf:Property> + <rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#alt"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>altitude</rdfs:label> + <rdfs:comment>The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid).</rdfs:comment> + </rdf:Property> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasExpirationDate"> + <rdfs:label xml:lang="en">has expiration date</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasCreationDate"> + <rdfs:label xml:lang="en">has creation date</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"> + <rdfs:label xml:lang="en">has description</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasLastUpdateDate"> + <rdfs:label xml:lang="en">has last update date</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"> + <rdfs:label xml:lang="en">has name</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/contributor"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.ttl b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.ttl new file mode 100644 index 0000000000000000000000000000000000000000..1e640ac30e85c4fddea8667eb10e39808940c822 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/latest/saref4city.ttl @@ -0,0 +1,817 @@ +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@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 cpsv: <http://purl.org/vocab/cpsv#> . +@prefix prov: <http://www.w3.org/ns/prov#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix geosp: <http://www.opengis.net/ont/geosparql#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix s4city: <https://saref.etsi.org/saref4city#> . +@prefix dcterms: <http://purl.org/dc/terms/> . + +<https://saref.etsi.org/saref4city#> a owl:Ontology ; + dcterms:title "SAREF extension for Smart City"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4city/v1.1.1/saref4city#> ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://w3id.org/people/mpoveda> ; + dcterms:contributor <https://www.linkedin.com/in/paolaespinoza-arias/> ; + vann:preferredNamespacePrefix "s4city" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4city#" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341004/01.01.01_60/ts_10341004v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4city/> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:description "This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain."@en ; + dcterms:publisher <https://www.etsi.org/> . + +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://purl.org/dc/elements/1.1/contributor + +dcterms:contributor a owl:AnnotationProperty . +# +# http://purl.org/dc/elements/1.1/creator + +dcterms:creator a owl:AnnotationProperty . +# +# +# http://purl.org/dc/elements/1.1/description + +dcterms:description a owl:AnnotationProperty . +# +# http://purl.org/dc/elements/1.1/title + +dcterms:title a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespacePrefix + +vann:preferredNamespacePrefix a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespaceUri + +vann:preferredNamespaceUri a owl:AnnotationProperty . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#alt + +geo:alt a rdf:Property ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:label "altitude" ; + rdfs:domain geo:SpatialThing . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#lat + +geo:lat a rdf:Property ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:label "latitude" ; + rdfs:domain geo:SpatialThing . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +geo:location a rdf:Property . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#long + +geo:long a rdf:Property ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:label "longitude" ; + rdfs:domain geo:SpatialThing . +# +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# http://purl.org/vocab/cpsv#physicallyAvailableAt + +cpsv:physicallyAvailableAt a owl:ObjectProperty ; + rdfs:comment "A physical location at which a user may interact with the Public Service."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "physically available at"@en . +# +# http://purl.org/vocab/cpsv#provides + +cpsv:provides a owl:ObjectProperty ; + rdfs:comment "The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "provides"@en . +# +# http://purl.org/vocab/cpsv#uses + +cpsv:uses a owl:ObjectProperty ; + rdfs:comment "The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "uses"@en . +# +# http://www.opengis.net/ont/geosparql#hasGeometry + +geosp:hasGeometry a owl:ObjectProperty ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ; + rdfs:label "has geometry"@en . +# +# http://www.opengis.net/ont/geosparql#sfContains + +geosp:sfContains a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "contains"@en . +# +# http://www.opengis.net/ont/geosparql#sfWithin + +geosp:sfWithin a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "within"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +geo:location a owl:ObjectProperty . +# +# https://saref.etsi.org/saref4city#assesses + +s4city:assesses a owl:ObjectProperty ; + rdfs:label "assesses"@en . +# +# https://saref.etsi.org/saref4city#hasAccesibility + +s4city:hasAccesibility a owl:ObjectProperty ; + rdfs:label "has accesibility"@en . +# +# https://saref.etsi.org/saref4city#hasCalculationPeriod + +s4city:hasCalculationPeriod a owl:ObjectProperty ; + rdfs:label "has calculation period"@en . +# +# https://saref.etsi.org/saref4city#hasKPI + +s4city:hasKPI a owl:ObjectProperty ; + owl:inverseOf s4city:isKPIOf ; + rdfs:label "has key performance indicator"@en . +# +# https://saref.etsi.org/saref4city#involvesFacility + +s4city:involvesFacility a owl:ObjectProperty ; + rdfs:label "involves facility"@en . +# +# https://saref.etsi.org/saref4city#isAssessedBy + +s4city:isAssessedBy a owl:ObjectProperty ; + rdfs:label "is assessed by"@en . +# +# https://saref.etsi.org/saref4city#isAvailableInLanguage + +s4city:isAvailableInLanguage a owl:ObjectProperty ; + rdfs:label "is available in language"@en . +# +# https://saref.etsi.org/saref4city#isDerivedFrom + +s4city:isDerivedFrom a owl:ObjectProperty ; + rdfs:label "is derived from"@en . +# +# https://saref.etsi.org/saref4city#isKPIOf + +s4city:isKPIOf a owl:ObjectProperty ; + rdfs:label "is key performance indicator of"@en . +# +# https://saref.etsi.org/saref4city#isOrganizedBy + +s4city:isOrganizedBy a owl:ObjectProperty ; + rdfs:label "is organized by"@en . +# +# https://saref.etsi.org/saref4city#isSubEventOf + +s4city:isSubEventOf a owl:ObjectProperty ; + rdfs:label "is subevent of"@en . +# +# https://saref.etsi.org/saref4city#quantifiesKPI + +s4city:quantifiesKPI a owl:ObjectProperty ; + rdfs:label "quantifies KPI"@en . +# +# https://saref.etsi.org/saref4city#refersToFeature + +s4city:refersToFeature a owl:ObjectProperty ; + rdfs:comment "Relation between a KPI assessment and the geographical feature it refers to"@en ; + rdfs:label "refers to feature"@en . +# +# https://saref.etsi.org/saref4city#refersToTime + +s4city:refersToTime a owl:ObjectProperty ; + rdfs:label "refers to time"@en . +# +# https://saref.etsi.org/saref4city#takesPlaceAtFacility + +s4city:takesPlaceAtFacility a owl:ObjectProperty ; + rdfs:label "takes place at facility"@en . +# +# https://saref.etsi.org/saref4city#takesPlaceAtTime + +s4city:takesPlaceAtTime a owl:ObjectProperty ; + rdfs:label "takes place at time"@en . +# +# https://w3id.org/saref#controlsProperty + +saref:controlsProperty a owl:ObjectProperty ; + rdfs:label "controls property"@en . +# +# https://w3id.org/saref#hasFeatureOfInterest + +saref:hasFeatureOfInterest a owl:ObjectProperty ; + owl:inverseOf saref:isFeatureOfInterestOf ; + rdfs:label "has feature of interest"@en . +# +# https://w3id.org/saref#hasProperty + +saref:hasProperty a owl:ObjectProperty ; + owl:inverseOf saref:isPropertyOf ; + rdfs:label "has property"@en . +# +# https://w3id.org/saref#isControlledByDevice + +saref:isControlledByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "is controlled by device"@en . +# +# https://w3id.org/saref#isFeatureOfInterestOf + +saref:isFeatureOfInterestOf a owl:ObjectProperty ; + rdfs:label "is feature of interest of"@en . +# +# https://w3id.org/saref#isMeasuredByDevice + +saref:isMeasuredByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "is measured by device"@en . +# +# https://w3id.org/saref#isMeasuredIn + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "is measured in"@en . +# +# https://w3id.org/saref#isPropertyOf + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:label "is property of"@en . +# +# https://w3id.org/saref#makesMeasurement + +saref:makesMeasurement a owl:ObjectProperty ; + owl:inverseOf saref:measurementMadeBy ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "makes measurement"@en . +# +# https://w3id.org/saref#measurementMadeBy + +saref:measurementMadeBy a owl:ObjectProperty . +# +# https://w3id.org/saref#measuresProperty + +saref:measuresProperty a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "measures property"@en . +# +# https://w3id.org/saref#relatesToMeasurement + +saref:relatesToMeasurement a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "relates to measurement"@en . +# +# https://w3id.org/saref#relatesToProperty + +saref:relatesToProperty a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "relates to property"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4city#hasCreationDate + +s4city:hasCreationDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:label "has creation date"@en . +# +# https://saref.etsi.org/saref4city#hasExpirationDate + +s4city:hasExpirationDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:label "has expiration date"@en . +# +# https://saref.etsi.org/saref4city#hasLastUpdateDate + +s4city:hasLastUpdateDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:label "has last update date"@en . +# +# https://w3id.org/saref#hasDescription + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has description"@en . +# +# https://w3id.org/saref#hasName + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has name"@en . +# +# https://w3id.org/saref#hasTimestamp + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has timestamp"@en . +# +# https://w3id.org/saref#hasValue + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# http://purl.org/dc/terms/LinguisticSystem + +dcterms:LinguisticSystem a owl:Class . +# +# http://purl.org/vocab/cpsv#PublicService + +cpsv:PublicService a owl:Class ; + rdfs:comment "This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "Public Service"@en . +# +# http://www.opengis.net/ont/geosparql#Feature + +geosp:Feature a owl:Class ; + rdfs:subClassOf geosp:SpatialObject ; + owl:disjointWith geosp:Geometry ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Feature"@en . +# +# http://www.opengis.net/ont/geosparql#Geometry + +geosp:Geometry a owl:Class ; + rdfs:subClassOf geosp:SpatialObject ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en . +# +# http://www.opengis.net/ont/geosparql#SpatialObject + +geosp:SpatialObject a owl:Class ; + rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#Point + +geo:Point a owl:Class ; + rdfs:subClassOf geosp:Geometry ; + rdfs:comment """ +Uniquely identified by lat/long/alt. i.e. + +spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), + lat(P2, LAT), long(P2, LONG), alt(P2, ALT). + +sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2). + """ , "A point, typically described using a coordinate system relative to Earth, such as WGS84." ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "Point"@en . +# +# http://www.w3.org/2004/02/skos/core#Concept + +<http://www.w3.org/2004/02/skos/core#Concept> a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/2004/02/skos/core#> . +# +# http://www.w3.org/2006/time#Instant + +time:Instant a owl:Class ; + rdfs:subClassOf time:TemporalEntity ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Instant"@en . +# +# http://www.w3.org/2006/time#Interval + +time:Interval a owl:Class ; + rdfs:subClassOf time:TemporalEntity ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "A temporal entity with an extent or duration"@en , "Time interval"@en . +# +# http://www.w3.org/2006/time#TemporalEntity + +time:TemporalEntity a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Temporal entity"@en . +# +# http://www.w3.org/ns/org#Organization + +<http://www.w3.org/ns/org#Organization> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:isDefinedBy <http://www.w3.org/ns/org#> ; + rdfs:label "Organization"@en . +# +# http://xmlns.com/foaf/0.1/Agent + +<http://xmlns.com/foaf/0.1/Agent> a owl:Class ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Agent"@en . +# +# http://xmlns.com/foaf/0.1/Person + +<http://xmlns.com/foaf/0.1/Person> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Person"@en . +# +# https://saref.etsi.org/saref4city#AdministrativeArea + +s4city:AdministrativeArea a owl:Class ; + rdfs:subClassOf geosp:Feature ; + rdfs:comment "An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)"@en ; + rdfs:label "Administrative area"@en . +# +# https://saref.etsi.org/saref4city#Agent + +s4city:Agent a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> , + [ a owl:Restriction ; + owl:onProperty cpsv:provides ; + owl:allValuesFrom s4city:PublicService + ] , + + [ a owl:Restriction ; + owl:onProperty cpsv:uses ; + owl:allValuesFrom s4city:PublicService ] . + +s4city:Agent rdfs:comment "An agent making an action in the context of a city. An agent could be a person, software, etc."@en ; + rdfs:label "Agent"@en . +# +# https://saref.etsi.org/saref4city#City + +s4city:City a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)"@en ; + rdfs:label "City"@en . +# +# https://saref.etsi.org/saref4city#CityObject + +s4city:CityObject a owl:Class ; + rdfs:subClassOf geosp:Feature ; + rdfs:comment "Generic class for describing city objects."@en ; + rdfs:label "City object"@en . +# +# https://saref.etsi.org/saref4city#Country + +s4city:Country a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)"@en ; + rdfs:label "Country"@en . +# +# https://saref.etsi.org/saref4city#District + +s4city:District a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as \"districts\" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)"@en ; + rdfs:label "District"@en . +# +# https://saref.etsi.org/saref4city#Event + +s4city:Event a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:hasAccesibility ; + owl:allValuesFrom <http://www.w3.org/2004/02/skos/core#Concept> ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isOrganizedBy ; + owl:allValuesFrom s4city:Agent ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isSubEventOf ; + owl:allValuesFrom s4city:Event ] , + + [ a owl:Restriction ; + owl:onProperty s4city:takesPlaceAtFacility ; + owl:allValuesFrom s4city:Facility ] , + + [ a owl:Restriction ; + owl:onProperty s4city:takesPlaceAtTime ; + owl:allValuesFrom time:TemporalEntity ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ]. + +s4city:Event rdfs:comment "Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)"@en ; + rdfs:label "Event"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q1656682> . +# +# https://saref.etsi.org/saref4city#Facility + +s4city:Facility a owl:Class ; + rdfs:subClassOf geosp:Feature ; + rdfs:comment "A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)"@en ; + rdfs:label "Facility"@en . +# +# https://saref.etsi.org/saref4city#KeyPerformanceIndicator + +s4city:KeyPerformanceIndicator a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:hasCalculationPeriod ; + owl:allValuesFrom time:TemporalEntity ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isKPIOf ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ] . + +s4city:KeyPerformanceIndicator rdfs:comment "A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)"@en ; + rdfs:label "Key Performance Indicator"@en ; + rdfs:seeAlso <http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html> . +# +# https://saref.etsi.org/saref4city#KeyPerformanceIndicatorAssessment + +s4city:KeyPerformanceIndicatorAssessment a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:assesses ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isAssessedBy ; + owl:allValuesFrom s4city:Agent ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isDerivedFrom ; + owl:allValuesFrom saref:Measurement ] , + + [ a owl:Restriction ; + owl:onProperty s4city:quantifiesKPI ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ] , + + [ a owl:Restriction ; + owl:onProperty s4city:refersToTime ; + owl:allValuesFrom time:TemporalEntity ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure ] , + + [ a owl:Restriction ; + owl:onProperty s4city:hasCreationDate ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty s4city:hasExpirationDate ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty s4city:hasLastUpdateDate ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + +s4city:KeyPerformanceIndicatorAssessment rdfs:comment "A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time."@en ; + rdfs:label "Key performance indicator assessment"@en . +# +# https://saref.etsi.org/saref4city#Neighbourhood + +s4city:Neighbourhood a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)"@en ; + rdfs:label "Neighbourhood"@en . +# +# https://saref.etsi.org/saref4city#PublicAdministration + +s4city:PublicAdministration a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/org#Organization> ; + rdfs:comment "Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)"@en ; + rdfs:label "Public administration"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q31728> . +# +# https://saref.etsi.org/saref4city#PublicService + +s4city:PublicService a owl:Class ; + rdfs:subClassOf cpsv:PublicService , + [ a owl:Restriction ; + owl:onProperty cpsv:physicallyAvailableAt ; + owl:allValuesFrom s4city:AdministrativeArea ] , + + [ a owl:Restriction ; + owl:onProperty s4city:involvesFacility ; + owl:allValuesFrom s4city:Facility ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isAvailableInLanguage ; + owl:allValuesFrom dcterms:LinguisticSystem ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ] . + +s4city:PublicService rdfs:comment "Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)"@en ; + rdfs:label "Public service"@en ; + rdfs:seeAlso <https://en.wikipedia.org/wiki/Public_service> . +# +# https://w3id.org/saref#Actuator + +saref:Actuator a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Actuator"@en . +# +# https://w3id.org/saref#Device + +saref:Device a owl:Class ; + rdfs:subClassOf geosp:Feature , + [ a owl:Restriction ; + owl:onProperty saref:controlsProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom saref:Measurement ] , + + [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] . + +saref:Device rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Device"^^xsd:string . +# +# https://w3id.org/saref#FeatureOfInterest + +saref:FeatureOfInterest a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:hasKPI ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:isFeatureOfInterestOf ; + owl:allValuesFrom saref:Measurement ] . +# +# https://w3id.org/saref#Measurement + +saref:Measurement a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFeatureOfInterest ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure ] , + + [ a owl:Restriction ; + owl:onProperty saref:measurementMadeBy ; + owl:allValuesFrom saref:Device ] , + + [ a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure ] , + + [ a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . +# +saref:Measurement owl:disjointWith saref:Property , saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Measurement"@en . +# +# https://w3id.org/saref#Property + +saref:Property a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:isControlledByDevice ; + owl:allValuesFrom saref:Device ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredByDevice ; + owl:allValuesFrom saref:Device ] , + + [ a owl:Restriction ; + owl:onProperty saref:isPropertyOf ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty saref:relatesToMeasurement ; + owl:allValuesFrom saref:Measurement ] . + +saref:Property owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en , "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Property"@en . +# +# https://w3id.org/saref#Sensor + +saref:Sensor a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Sensor"@en . +# +# https://w3id.org/saref#UnitOfMeasure + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Unit of measure"@en . +# +# +# +# ################################################################# +# # +# # Annotations +# # +# ################################################################# +# +# + +geo:location rdfs:comment """The relation between something and the point, + or other geometrical thing in space, where it is. For example, the realtionship between + a radio tower and a Point with a given lat and long. + Or a relationship between a park and its outline as a closed arc of points, or a road and + its location as a arc (a sequence of points). + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect + an accuracy appropriate for the size of the object and uses such as mapping . + """ ; + rdfs:label "location"@en . + diff --git a/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.html b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.html new file mode 100644 index 0000000000000000000000000000000000000000..cb126aa20127f845808c78205b7ea33c35d5556f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF extension for Smart City</h1> + <p><strong>Official ETSI documentation for SAREF4CITY v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4CITY ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4CITY v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4city.ttl">Turtle</a> or <a href="./saref4city.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4city#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.n3 b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.n3 new file mode 100644 index 0000000000000000000000000000000000000000..d1c43567a3639b656fc7e9767c56eabb1c611500 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.n3 @@ -0,0 +1,608 @@ +@prefix s4city: <https://saref.etsi.org/saref4city#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix geosp: <http://www.opengis.net/ont/geosparql#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix prov: <http://www.w3.org/ns/prov#> . +@prefix cpsv: <http://purl.org/vocab/cpsv#> . + +s4city:isAvailableInLanguage + a owl:ObjectProperty ; + rdfs:label "is available in language"@en . + +s4city: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <https://www.linkedin.com/in/paolaespinoza-arias/> , <http://www.garcia-castro.com/foaf.rdf#me> , <http://w3id.org/people/mpoveda> ; + dcterms:description "This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4city/> , <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341004/01.01.01_60/ts_10341004v010101p.pdf> ; + dcterms:title "SAREF extension for Smart City"@en ; + vann:preferredNamespacePrefix "s4city" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4city#" ; + owl:versionIRI <https://saref.etsi.org/saref4city/v1.1.1/saref4city#> ; + owl:versionInfo "1.1.1" . + +s4city:CityObject a owl:Class ; + rdfs:comment "Generic class for describing city objects."@en ; + rdfs:label "City object"@en ; + rdfs:subClassOf geosp:Feature . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured in"@en . + +s4city:PublicAdministration + a owl:Class ; + rdfs:comment "Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)"@en ; + rdfs:label "Public administration"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q31728> ; + rdfs:subClassOf <http://www.w3.org/ns/org#Organization> . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "makes measurement"@en ; + owl:inverseOf saref:measurementMadeBy . + +geosp:sfWithin a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "within"@en . + +time:Instant a owl:Class ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Instant"@en ; + rdfs:subClassOf time:TemporalEntity . + +s4city:isOrganizedBy a owl:ObjectProperty ; + rdfs:label "is organized by"@en . + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:label "is property of"@en . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:measurementMadeBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:hasFeatureOfInterest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + owl:disjointWith saref:Property , saref:UnitOfMeasure . + +s4city:isDerivedFrom a owl:ObjectProperty ; + rdfs:label "is derived from"@en . + +saref:isMeasuredByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is measured by device"@en . + +s4city:Event a owl:Class ; + rdfs:comment "Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)"@en ; + rdfs:label "Event"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q1656682> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Event ; + owl:onProperty s4city:isSubEventOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Agent ; + owl:onProperty s4city:isOrganizedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Facility ; + owl:onProperty s4city:takesPlaceAtFacility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom time:TemporalEntity ; + owl:onProperty s4city:takesPlaceAtTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom <http://www.w3.org/2004/02/skos/core#Concept> ; + owl:onProperty s4city:hasAccesibility + ] . + +s4city:hasKPI a owl:ObjectProperty ; + rdfs:label "has key performance indicator"@en ; + owl:inverseOf s4city:isKPIOf . + +vann:preferredNamespaceUri + a owl:AnnotationProperty . + +geosp:Feature a owl:Class ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Feature"@en ; + rdfs:subClassOf geosp:SpatialObject ; + owl:disjointWith geosp:Geometry . + +s4city:hasCalculationPeriod + a owl:ObjectProperty ; + rdfs:label "has calculation period"@en . + +cpsv:provides a owl:ObjectProperty ; + rdfs:comment "The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "provides"@en . + +s4city:takesPlaceAtFacility + a owl:ObjectProperty ; + rdfs:label "takes place at facility"@en . + +geo:lat a rdf:Property ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:domain geo:SpatialThing ; + rdfs:label "latitude" . + +geo:Point a owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84." , " \nUniquely identified by lat/long/alt. i.e.\n\nspaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),\n lat(P2, LAT), long(P2, LONG), alt(P2, ALT).\n\nsameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).\n " ; + rdfs:isDefinedBy geo: ; + rdfs:label "Point"@en ; + rdfs:subClassOf geosp:Geometry . + +s4city:Facility a owl:Class ; + rdfs:comment "A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)"@en ; + rdfs:label "Facility"@en ; + rdfs:subClassOf geosp:Feature . + +dcterms:creator a owl:AnnotationProperty . + +s4city:hasExpirationDate + a owl:DatatypeProperty ; + rdfs:label "has expiration date"@en ; + rdfs:range xsd:dateTime . + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has timestamp"@en . + +dcterms:title a owl:AnnotationProperty . + +cpsv:PublicService a owl:Class ; + rdfs:comment "This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "Public Service"@en . + +geosp:hasGeometry a owl:ObjectProperty ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:isDefinedBy geosp: ; + rdfs:label "has geometry"@en . + +geosp:sfContains a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "contains"@en . + +s4city:assesses a owl:ObjectProperty ; + rdfs:label "assesses"@en . + +s4city:refersToTime a owl:ObjectProperty ; + rdfs:label "refers to time"@en . + +geo:location a owl:ObjectProperty , rdf:Property ; + rdfs:comment "The relation between something and the point, \n or other geometrical thing in space, where it is. For example, the realtionship between\n a radio tower and a Point with a given lat and long.\n Or a relationship between a park and its outline as a closed arc of points, or a road and\n its location as a arc (a sequence of points).\n Clearly in practice there will be limit to the accuracy of any such statement, but one would expect\n an accuracy appropriate for the size of the object and uses such as mapping .\n " ; + rdfs:label "location"@en . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "measures property"@en . + +dcterms:contributor a owl:AnnotationProperty . + +<http://www.w3.org/2004/02/skos/core#Concept> + a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/2004/02/skos/core#> . + +s4city:Neighbourhood a owl:Class ; + rdfs:comment "A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)"@en ; + rdfs:label "Neighbourhood"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +<http://www.w3.org/ns/org#Organization> + a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/ns/org#> ; + rdfs:label "Organization"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +s4city:hasAccesibility + a owl:ObjectProperty ; + rdfs:label "has accesibility"@en . + +s4city:refersToFeature + a owl:ObjectProperty ; + rdfs:comment "Relation between a KPI assessment and the geographical feature it refers to"@en ; + rdfs:label "refers to feature"@en . + +s4city:isKPIOf a owl:ObjectProperty ; + rdfs:label "is key performance indicator of"@en . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +geo:long a rdf:Property ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:domain geo:SpatialThing ; + rdfs:label "longitude" . + +s4city:KeyPerformanceIndicator + a owl:Class ; + rdfs:comment "A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)"@en ; + rdfs:label "Key Performance Indicator"@en ; + rdfs:seeAlso <http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty s4city:isKPIOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom time:TemporalEntity ; + owl:onProperty s4city:hasCalculationPeriod + ] . + +s4city:involvesFacility + a owl:ObjectProperty ; + rdfs:label "involves facility"@en . + +time:TemporalEntity a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Temporal entity"@en . + +saref:hasProperty a owl:ObjectProperty ; + rdfs:label "has property"@en ; + owl:inverseOf saref:isPropertyOf . + +saref:FeatureOfInterest + a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:hasProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ; + owl:onProperty s4city:hasKPI + ] . + +geo:alt a rdf:Property ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:domain geo:SpatialThing ; + rdfs:label "altitude" . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . + +saref:isFeatureOfInterestOf + a owl:ObjectProperty ; + rdfs:label "is feature of interest of"@en . + +<http://xmlns.com/foaf/0.1/Agent> + a owl:Class ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Agent"@en . + +s4city:AdministrativeArea + a owl:Class ; + rdfs:comment "An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)"@en ; + rdfs:label "Administrative area"@en ; + rdfs:subClassOf geosp:Feature . + +saref:controlsProperty + a owl:ObjectProperty ; + rdfs:label "controls property"@en . + +saref:hasFeatureOfInterest + a owl:ObjectProperty ; + rdfs:label "has feature of interest"@en ; + owl:inverseOf saref:isFeatureOfInterestOf . + +saref:relatesToMeasurement + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to measurement"@en . + +s4city:Agent a owl:Class ; + rdfs:comment "An agent making an action in the context of a city. An agent could be a person, software, etc."@en ; + rdfs:label "Agent"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:PublicService ; + owl:onProperty cpsv:uses + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:PublicService ; + owl:onProperty cpsv:provides + ] . + +s4city:quantifiesKPI a owl:ObjectProperty ; + rdfs:label "quantifies KPI"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "relates to property"@en . + +cpsv:physicallyAvailableAt + a owl:ObjectProperty ; + rdfs:comment "A physical location at which a user may interact with the Public Service."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "physically available at"@en . + +geosp:Geometry a owl:Class ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en ; + rdfs:subClassOf geosp:SpatialObject . + +s4city:hasLastUpdateDate + a owl:DatatypeProperty ; + rdfs:label "has last update date"@en ; + rdfs:range xsd:dateTime . + +vann:preferredNamespacePrefix + a owl:AnnotationProperty . + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + +time:Interval a owl:Class ; + rdfs:isDefinedBy time: ; + rdfs:label "Time interval"@en , "A temporal entity with an extent or duration"@en ; + rdfs:subClassOf time:TemporalEntity . + +<http://xmlns.com/foaf/0.1/Person> + a owl:Class ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Person"@en ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> . + +s4city:Country a owl:Class ; + rdfs:comment "A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)"@en ; + rdfs:label "Country"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +s4city:takesPlaceAtTime + a owl:ObjectProperty ; + rdfs:label "takes place at time"@en . + +s4city:City a owl:Class ; + rdfs:comment "A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)"@en ; + rdfs:label "City"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +s4city:hasCreationDate + a owl:DatatypeProperty ; + rdfs:label "has creation date"@en ; + rdfs:range xsd:dateTime . + +geosp:SpatialObject a owl:Class ; + rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en . + +dcterms:description a owl:AnnotationProperty . + +s4city:isSubEventOf a owl:ObjectProperty ; + rdfs:label "is subevent of"@en . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.\nA device that has category saref:Sensor and performs a saref:SensingFunction."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en ; + rdfs:subClassOf saref:Device . + +saref:Property a owl:Class ; + rdfs:comment "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." , "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Property"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isMeasuredByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:relatesToMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Device ; + owl:onProperty saref:isControlledByDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty saref:isPropertyOf + ] ; + owl:disjointWith saref:UnitOfMeasure . + +s4city:District a owl:Class ; + rdfs:comment "A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as \"districts\" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)"@en ; + rdfs:label "District"@en ; + rdfs:subClassOf s4city:AdministrativeArea . + +s4city:KeyPerformanceIndicatorAssessment + a owl:Class ; + rdfs:comment "A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time."@en ; + rdfs:label "Key performance indicator assessment"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasValue + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4city:hasCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Agent ; + owl:onProperty s4city:isAssessedBy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty s4city:isDerivedFrom + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4city:hasExpirationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ; + owl:onProperty s4city:quantifiesKPI + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom time:TemporalEntity ; + owl:onProperty s4city:refersToTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4city:hasLastUpdateDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:FeatureOfInterest ; + owl:onProperty s4city:assesses + ] . + +s4city:PublicService a owl:Class ; + rdfs:comment "Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)"@en ; + rdfs:label "Public service"@en ; + rdfs:seeAlso <https://en.wikipedia.org/wiki/Public_service> ; + rdfs:subClassOf cpsv:PublicService ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:AdministrativeArea ; + owl:onProperty cpsv:physicallyAvailableAt + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom dcterms:LinguisticSystem ; + owl:onProperty s4city:isAvailableInLanguage + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4city:Facility ; + owl:onProperty s4city:involvesFacility + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom rdfs:Literal ; + owl:onProperty saref:hasName + ] . + +dcterms:LinguisticSystem + a owl:Class . + +saref:measurementMadeBy + a owl:ObjectProperty . + +saref:Actuator a owl:Class ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Actuator"@en ; + rdfs:subClassOf saref:Device . + +cpsv:uses a owl:ObjectProperty ; + rdfs:comment "The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation."@en ; + rdfs:isDefinedBy cpsv: ; + rdfs:label "uses"@en . + +s4city:isAssessedBy a owl:ObjectProperty ; + rdfs:label "is assessed by"@en . + +saref:isControlledByDevice + a owl:ObjectProperty ; + rdfs:isDefinedBy saref: ; + rdfs:label "is controlled by device"@en . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended." ; + rdfs:label "Device" ; + rdfs:subClassOf geosp:Feature ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:makesMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:controlsProperty + ] . diff --git a/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.rdf b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.rdf new file mode 100644 index 0000000000000000000000000000000000000000..32cdf95feb09c0ed4f918503245a8ac313290637 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.rdf @@ -0,0 +1,857 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:cpsv="http://purl.org/vocab/cpsv#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:prov="http://www.w3.org/ns/prov#" + xmlns:saref="https://w3id.org/saref#" + xmlns:geosp="http://www.opengis.net/ont/geosparql#" + xmlns:s4city="https://saref.etsi.org/saref4city#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4city#"> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4city/"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341004/01.01.01_60/ts_10341004v010101p.pdf"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4city/v1.1.1/saref4city#"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/paolaespinoza-arias/"/> + <vann:preferredNamespacePrefix>s4city</vann:preferredNamespacePrefix> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain.</dcterms:description> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <owl:versionInfo>1.1.1</owl:versionInfo> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4city#</vann:preferredNamespaceUri> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:contributor rdf:resource="http://w3id.org/people/mpoveda"/> + <dcterms:title xml:lang="en">SAREF extension for Smart City</dcterms:title> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + </owl:Ontology> + <owl:Class rdf:about="http://purl.org/vocab/cpsv#PublicService"> + <rdfs:label xml:lang="en">Public Service</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#PublicService"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#physicallyAvailableAt"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://purl.org/vocab/cpsv#PublicService"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://purl.org/dc/terms/LinguisticSystem"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAvailableInLanguage"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Facility"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#involvesFacility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso rdf:resource="https://en.wikipedia.org/wiki/Public_service"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)</rdfs:comment> + <rdfs:label xml:lang="en">Public service</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicatorAssessment"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasCreationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Agent"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAssessedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isDerivedFrom"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasExpirationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Key performance indicator assessment</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicator"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#quantifiesKPI"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#refersToTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasLastUpdateDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#assesses"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#City"> + <rdfs:label xml:lang="en">City</rdfs:label> + <rdfs:comment xml:lang="en">A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#PublicAdministration"> + <rdfs:seeAlso rdf:resource="https://www.wikidata.org/wiki/Q31728"/> + <rdfs:label xml:lang="en">Public administration</rdfs:label> + <rdfs:comment xml:lang="en">Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/ns/org#Organization"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Event"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4city#Event"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isSubEventOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Agent"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isOrganizedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:seeAlso rdf:resource="https://www.wikidata.org/wiki/Q1656682"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Facility"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtFacility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtTime"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2004/02/skos/core#Concept"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasAccesibility"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)</rdfs:comment> + <rdfs:label xml:lang="en">Event</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device responsible for moving or controlling a mechanism or system</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#District"> + <rdfs:label xml:lang="en">District</rdfs:label> + <rdfs:comment xml:lang="en">A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as "districts" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalEntity"> + <rdfs:label xml:lang="en">Temporal entity</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal interval or instant.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#SpatialObject"> + <rdfs:label xml:lang="en">SpatialObject</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#AdministrativeArea"> + <rdfs:label xml:lang="en">Administrative area</rdfs:label> + <rdfs:comment xml:lang="en">An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measurementMadeBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasFeatureOfInterest"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2004/02/skos/core#Concept"> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2004/02/skos/core#"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Interval"> + <rdfs:label xml:lang="en">Time interval</rdfs:label> + <rdfs:label xml:lang="en">A temporal entity with an extent or duration</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Facility"> + <rdfs:label xml:lang="en">Facility</rdfs:label> + <rdfs:comment xml:lang="en">A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/ns/org#Organization"> + <rdfs:label xml:lang="en">Organization</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/org#"/> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Neighbourhood"> + <rdfs:label xml:lang="en">Neighbourhood</rdfs:label> + <rdfs:comment xml:lang="en">A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Feature"> + <rdfs:label xml:lang="en">Feature</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Country"> + <rdfs:label xml:lang="en">Country</rdfs:label> + <rdfs:comment xml:lang="en">A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4city#AdministrativeArea"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Device"> + <rdfs:label>Device</rdfs:label> + <rdfs:comment>A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#controlsProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#Agent"> + <rdfs:label xml:lang="en">Agent</rdfs:label> + <rdfs:comment xml:lang="en">An agent making an action in the context of a city. An agent could be a person, software, etc.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4city#PublicService"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#uses"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4city#PublicService"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#provides"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"> + <rdfs:label xml:lang="en">Person</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/> + <rdfs:subClassOf> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="http://www.opengis.net/ont/geosparql#Geometry"> + <rdfs:label xml:lang="en">Geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#SpatialObject"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#Instant"> + <rdfs:label xml:lang="en">Instant</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal entity with zero extent or duration</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicator"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasKPI"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#KeyPerformanceIndicator"> + <rdfs:seeAlso rdf:resource="http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html"/> + <rdfs:label xml:lang="en">Key Performance Indicator</rdfs:label> + <rdfs:comment xml:lang="en">A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#FeatureOfInterest"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isKPIOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasCalculationPeriod"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4city#CityObject"> + <rdfs:label xml:lang="en">City object</rdfs:label> + <rdfs:comment xml:lang="en">Generic class for describing city objects.</rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"> + <rdfs:label xml:lang="en">Agent</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Property"> + <rdfs:comment>Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended.</rdfs:comment> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Device"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Device"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isControlledByDevice"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#FeatureOfInterest"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isPropertyOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"> + <rdfs:label xml:lang="en">Point</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment>A point, typically described using a coordinate system relative to Earth, such as WGS84.</rdfs:comment> + <rdfs:comment> +Uniquely identified by lat/long/alt. i.e. + +spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), + lat(P2, LAT), long(P2, LONG), alt(P2, ALT). + +sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2). + </rdfs:comment> + <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Geometry"/> + </owl:Class> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:comment>The relation between something and the point, + or other geometrical thing in space, where it is. For example, the realtionship between + a radio tower and a Point with a given lat and long. + Or a relationship between a park and its outline as a closed arc of points, or a road and + its location as a arc (a sequence of points). + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect + an accuracy appropriate for the size of the object and uses such as mapping . + </rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#controlsProperty"> + <rdfs:label xml:lang="en">controls property</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#refersToFeature"> + <rdfs:label xml:lang="en">refers to feature</rdfs:label> + <rdfs:comment xml:lang="en">Relation between a KPI assessment and the geographical feature it refers to</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isSubEventOf"> + <rdfs:label xml:lang="en">is subevent of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#involvesFacility"> + <rdfs:label xml:lang="en">involves facility</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#hasGeometry"> + <rdfs:label xml:lang="en">has geometry</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql#"/> + <rdfs:comment xml:lang="en">A spatial representation for a given feature.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isKPIOf"> + <rdfs:label xml:lang="en">is key performance indicator of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfContains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isFeatureOfInterestOf"> + <rdfs:label xml:lang="en">is feature of interest of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtTime"> + <rdfs:label xml:lang="en">takes place at time</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <owl:inverseOf rdf:resource="https://w3id.org/saref#measurementMadeBy"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.opengis.net/ont/geosparql#sfWithin"> + <rdfs:label xml:lang="en">within</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.opengis.net/ont/geosparql"/> + <rdfs:comment xml:lang="en">Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isOrganizedBy"> + <rdfs:label xml:lang="en">is organized by</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAvailableInLanguage"> + <rdfs:label xml:lang="en">is available in language</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#uses"> + <rdfs:label xml:lang="en">uses</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#physicallyAvailableAt"> + <rdfs:label xml:lang="en">physically available at</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">A physical location at which a user may interact with the Public Service.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isPropertyOf"> + <rdfs:label xml:lang="en">is property of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#takesPlaceAtFacility"> + <rdfs:label xml:lang="en">takes place at facility</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasFeatureOfInterest"> + <rdfs:label xml:lang="en">has feature of interest</rdfs:label> + <owl:inverseOf rdf:resource="https://w3id.org/saref#isFeatureOfInterestOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#assesses"> + <rdfs:label xml:lang="en">assesses</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasAccesibility"> + <rdfs:label xml:lang="en">has accesibility</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isControlledByDevice"> + <rdfs:label xml:lang="en">is controlled by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#refersToTime"> + <rdfs:label xml:lang="en">refers to time</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredByDevice"> + <rdfs:label xml:lang="en">is measured by device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"> + <rdfs:label xml:lang="en">is measured in</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isDerivedFrom"> + <rdfs:label xml:lang="en">is derived from</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasCalculationPeriod"> + <rdfs:label xml:lang="en">has calculation period</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasProperty"> + <rdfs:label xml:lang="en">has property</rdfs:label> + <owl:inverseOf rdf:resource="https://w3id.org/saref#isPropertyOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://purl.org/vocab/cpsv#provides"> + <rdfs:label xml:lang="en">provides</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://purl.org/vocab/cpsv#"/> + <rdfs:comment xml:lang="en">The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToMeasurement"> + <rdfs:label xml:lang="en">relates to measurement</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#quantifiesKPI"> + <rdfs:label xml:lang="en">quantifies KPI</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#isAssessedBy"> + <rdfs:label xml:lang="en">is assessed by</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4city#hasKPI"> + <rdfs:label xml:lang="en">has key performance indicator</rdfs:label> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4city#isKPIOf"/> + </owl:ObjectProperty> + <rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#lat"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>latitude</rdfs:label> + <rdfs:comment>The WGS84 latitude of a SpatialThing (decimal degrees).</rdfs:comment> + </rdf:Property> + <rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#long"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>longitude</rdfs:label> + <rdfs:comment>The WGS84 longitude of a SpatialThing (decimal degrees).</rdfs:comment> + </rdf:Property> + <rdf:Property rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#alt"> + <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <rdfs:label>altitude</rdfs:label> + <rdfs:comment>The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid).</rdfs:comment> + </rdf:Property> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasExpirationDate"> + <rdfs:label xml:lang="en">has expiration date</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasCreationDate"> + <rdfs:label xml:lang="en">has creation date</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"> + <rdfs:label xml:lang="en">has description</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4city#hasLastUpdateDate"> + <rdfs:label xml:lang="en">has last update date</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"> + <rdfs:label xml:lang="en">has name</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + </owl:DatatypeProperty> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/contributor"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.ttl b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.ttl new file mode 100644 index 0000000000000000000000000000000000000000..1e640ac30e85c4fddea8667eb10e39808940c822 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4city/v1.1.1/saref4city.ttl @@ -0,0 +1,817 @@ +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@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 cpsv: <http://purl.org/vocab/cpsv#> . +@prefix prov: <http://www.w3.org/ns/prov#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix geosp: <http://www.opengis.net/ont/geosparql#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix s4city: <https://saref.etsi.org/saref4city#> . +@prefix dcterms: <http://purl.org/dc/terms/> . + +<https://saref.etsi.org/saref4city#> a owl:Ontology ; + dcterms:title "SAREF extension for Smart City"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4city/v1.1.1/saref4city#> ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://w3id.org/people/mpoveda> ; + dcterms:contributor <https://www.linkedin.com/in/paolaespinoza-arias/> ; + vann:preferredNamespacePrefix "s4city" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4city#" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341004/01.01.01_60/ts_10341004v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4city/> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:description "This ontology extends the SAREF ontology for the Smart City domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Smart City domain."@en ; + dcterms:publisher <https://www.etsi.org/> . + +# +# +# ################################################################# +# # +# # Annotation properties +# # +# ################################################################# +# +# +# http://purl.org/dc/elements/1.1/contributor + +dcterms:contributor a owl:AnnotationProperty . +# +# http://purl.org/dc/elements/1.1/creator + +dcterms:creator a owl:AnnotationProperty . +# +# +# http://purl.org/dc/elements/1.1/description + +dcterms:description a owl:AnnotationProperty . +# +# http://purl.org/dc/elements/1.1/title + +dcterms:title a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespacePrefix + +vann:preferredNamespacePrefix a owl:AnnotationProperty . +# +# http://purl.org/vocab/vann/preferredNamespaceUri + +vann:preferredNamespaceUri a owl:AnnotationProperty . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#alt + +geo:alt a rdf:Property ; + rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ; + rdfs:label "altitude" ; + rdfs:domain geo:SpatialThing . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#lat + +geo:lat a rdf:Property ; + rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ; + rdfs:label "latitude" ; + rdfs:domain geo:SpatialThing . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +geo:location a rdf:Property . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#long + +geo:long a rdf:Property ; + rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ; + rdfs:label "longitude" ; + rdfs:domain geo:SpatialThing . +# +# +# +# +# ################################################################# +# # +# # Object Properties +# # +# ################################################################# +# +# +# http://purl.org/vocab/cpsv#physicallyAvailableAt + +cpsv:physicallyAvailableAt a owl:ObjectProperty ; + rdfs:comment "A physical location at which a user may interact with the Public Service."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "physically available at"@en . +# +# http://purl.org/vocab/cpsv#provides + +cpsv:provides a owl:ObjectProperty ; + rdfs:comment "The provides property links an Agent to a Public Service for which it is responsible. Whether it provides the service directly or outsources it is not relevant, the Agent that provides the service is the one that is ultimately responsible for its provision."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "provides"@en . +# +# http://purl.org/vocab/cpsv#uses + +cpsv:uses a owl:ObjectProperty ; + rdfs:comment "The uses property links an Agent to a Public Service in which it plays the specific role of user, meaning that it provides the input and receives the output but does not play any direct role in providing the service. This will typically be an individual citizen or an outside organisation."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "uses"@en . +# +# http://www.opengis.net/ont/geosparql#hasGeometry + +geosp:hasGeometry a owl:ObjectProperty ; + rdfs:comment "A spatial representation for a given feature."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ; + rdfs:label "has geometry"@en . +# +# http://www.opengis.net/ont/geosparql#sfContains + +geosp:sfContains a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "contains"@en . +# +# http://www.opengis.net/ont/geosparql#sfWithin + +geosp:sfWithin a owl:ObjectProperty ; + rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "within"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#location + +geo:location a owl:ObjectProperty . +# +# https://saref.etsi.org/saref4city#assesses + +s4city:assesses a owl:ObjectProperty ; + rdfs:label "assesses"@en . +# +# https://saref.etsi.org/saref4city#hasAccesibility + +s4city:hasAccesibility a owl:ObjectProperty ; + rdfs:label "has accesibility"@en . +# +# https://saref.etsi.org/saref4city#hasCalculationPeriod + +s4city:hasCalculationPeriod a owl:ObjectProperty ; + rdfs:label "has calculation period"@en . +# +# https://saref.etsi.org/saref4city#hasKPI + +s4city:hasKPI a owl:ObjectProperty ; + owl:inverseOf s4city:isKPIOf ; + rdfs:label "has key performance indicator"@en . +# +# https://saref.etsi.org/saref4city#involvesFacility + +s4city:involvesFacility a owl:ObjectProperty ; + rdfs:label "involves facility"@en . +# +# https://saref.etsi.org/saref4city#isAssessedBy + +s4city:isAssessedBy a owl:ObjectProperty ; + rdfs:label "is assessed by"@en . +# +# https://saref.etsi.org/saref4city#isAvailableInLanguage + +s4city:isAvailableInLanguage a owl:ObjectProperty ; + rdfs:label "is available in language"@en . +# +# https://saref.etsi.org/saref4city#isDerivedFrom + +s4city:isDerivedFrom a owl:ObjectProperty ; + rdfs:label "is derived from"@en . +# +# https://saref.etsi.org/saref4city#isKPIOf + +s4city:isKPIOf a owl:ObjectProperty ; + rdfs:label "is key performance indicator of"@en . +# +# https://saref.etsi.org/saref4city#isOrganizedBy + +s4city:isOrganizedBy a owl:ObjectProperty ; + rdfs:label "is organized by"@en . +# +# https://saref.etsi.org/saref4city#isSubEventOf + +s4city:isSubEventOf a owl:ObjectProperty ; + rdfs:label "is subevent of"@en . +# +# https://saref.etsi.org/saref4city#quantifiesKPI + +s4city:quantifiesKPI a owl:ObjectProperty ; + rdfs:label "quantifies KPI"@en . +# +# https://saref.etsi.org/saref4city#refersToFeature + +s4city:refersToFeature a owl:ObjectProperty ; + rdfs:comment "Relation between a KPI assessment and the geographical feature it refers to"@en ; + rdfs:label "refers to feature"@en . +# +# https://saref.etsi.org/saref4city#refersToTime + +s4city:refersToTime a owl:ObjectProperty ; + rdfs:label "refers to time"@en . +# +# https://saref.etsi.org/saref4city#takesPlaceAtFacility + +s4city:takesPlaceAtFacility a owl:ObjectProperty ; + rdfs:label "takes place at facility"@en . +# +# https://saref.etsi.org/saref4city#takesPlaceAtTime + +s4city:takesPlaceAtTime a owl:ObjectProperty ; + rdfs:label "takes place at time"@en . +# +# https://w3id.org/saref#controlsProperty + +saref:controlsProperty a owl:ObjectProperty ; + rdfs:label "controls property"@en . +# +# https://w3id.org/saref#hasFeatureOfInterest + +saref:hasFeatureOfInterest a owl:ObjectProperty ; + owl:inverseOf saref:isFeatureOfInterestOf ; + rdfs:label "has feature of interest"@en . +# +# https://w3id.org/saref#hasProperty + +saref:hasProperty a owl:ObjectProperty ; + owl:inverseOf saref:isPropertyOf ; + rdfs:label "has property"@en . +# +# https://w3id.org/saref#isControlledByDevice + +saref:isControlledByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "is controlled by device"@en . +# +# https://w3id.org/saref#isFeatureOfInterestOf + +saref:isFeatureOfInterestOf a owl:ObjectProperty ; + rdfs:label "is feature of interest of"@en . +# +# https://w3id.org/saref#isMeasuredByDevice + +saref:isMeasuredByDevice a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "is measured by device"@en . +# +# https://w3id.org/saref#isMeasuredIn + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "is measured in"@en . +# +# https://w3id.org/saref#isPropertyOf + +saref:isPropertyOf a owl:ObjectProperty ; + rdfs:label "is property of"@en . +# +# https://w3id.org/saref#makesMeasurement + +saref:makesMeasurement a owl:ObjectProperty ; + owl:inverseOf saref:measurementMadeBy ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "makes measurement"@en . +# +# https://w3id.org/saref#measurementMadeBy + +saref:measurementMadeBy a owl:ObjectProperty . +# +# https://w3id.org/saref#measuresProperty + +saref:measuresProperty a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "measures property"@en . +# +# https://w3id.org/saref#relatesToMeasurement + +saref:relatesToMeasurement a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "relates to measurement"@en . +# +# https://w3id.org/saref#relatesToProperty + +saref:relatesToProperty a owl:ObjectProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "relates to property"@en . +# +# +# +# ################################################################# +# # +# # Data properties +# # +# ################################################################# +# +# +# https://saref.etsi.org/saref4city#hasCreationDate + +s4city:hasCreationDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:label "has creation date"@en . +# +# https://saref.etsi.org/saref4city#hasExpirationDate + +s4city:hasExpirationDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:label "has expiration date"@en . +# +# https://saref.etsi.org/saref4city#hasLastUpdateDate + +s4city:hasLastUpdateDate a owl:DatatypeProperty ; + rdfs:range xsd:dateTime ; + rdfs:label "has last update date"@en . +# +# https://w3id.org/saref#hasDescription + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has description"@en . +# +# https://w3id.org/saref#hasName + +saref:hasName a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has name"@en . +# +# https://w3id.org/saref#hasTimestamp + +saref:hasTimestamp a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has timestamp"@en . +# +# https://w3id.org/saref#hasValue + +saref:hasValue a owl:DatatypeProperty ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "has value"@en . +# +# +# +# ################################################################# +# # +# # Classes +# # +# ################################################################# +# +# +# http://purl.org/dc/terms/LinguisticSystem + +dcterms:LinguisticSystem a owl:Class . +# +# http://purl.org/vocab/cpsv#PublicService + +cpsv:PublicService a owl:Class ; + rdfs:comment "This class represents the service itself. A public service is the capacity to carry out a procedure and exists whether it is used or not. It is a set of deeds and acts performed by or on behalf of a public agency for the benefit of a citizen, a business or another public agency."@en ; + rdfs:isDefinedBy <http://purl.org/vocab/cpsv#> ; + rdfs:label "Public Service"@en . +# +# http://www.opengis.net/ont/geosparql#Feature + +geosp:Feature a owl:Class ; + rdfs:subClassOf geosp:SpatialObject ; + owl:disjointWith geosp:Geometry ; + rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Feature"@en . +# +# http://www.opengis.net/ont/geosparql#Geometry + +geosp:Geometry a owl:Class ; + rdfs:subClassOf geosp:SpatialObject ; + rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "Geometry"@en . +# +# http://www.opengis.net/ont/geosparql#SpatialObject + +geosp:SpatialObject a owl:Class ; + rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ; + rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ; + rdfs:label "SpatialObject"@en . +# +# http://www.w3.org/2003/01/geo/wgs84_pos#Point + +geo:Point a owl:Class ; + rdfs:subClassOf geosp:Geometry ; + rdfs:comment """ +Uniquely identified by lat/long/alt. i.e. + +spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), + lat(P2, LAT), long(P2, LONG), alt(P2, ALT). + +sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2). + """ , "A point, typically described using a coordinate system relative to Earth, such as WGS84." ; + rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ; + rdfs:label "Point"@en . +# +# http://www.w3.org/2004/02/skos/core#Concept + +<http://www.w3.org/2004/02/skos/core#Concept> a owl:Class ; + rdfs:isDefinedBy <http://www.w3.org/2004/02/skos/core#> . +# +# http://www.w3.org/2006/time#Instant + +time:Instant a owl:Class ; + rdfs:subClassOf time:TemporalEntity ; + rdfs:comment "A temporal entity with zero extent or duration"@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Instant"@en . +# +# http://www.w3.org/2006/time#Interval + +time:Interval a owl:Class ; + rdfs:subClassOf time:TemporalEntity ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "A temporal entity with an extent or duration"@en , "Time interval"@en . +# +# http://www.w3.org/2006/time#TemporalEntity + +time:TemporalEntity a owl:Class ; + rdfs:comment "A temporal interval or instant."@en ; + rdfs:isDefinedBy <http://www.w3.org/2006/time#> ; + rdfs:label "Temporal entity"@en . +# +# http://www.w3.org/ns/org#Organization + +<http://www.w3.org/ns/org#Organization> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:isDefinedBy <http://www.w3.org/ns/org#> ; + rdfs:label "Organization"@en . +# +# http://xmlns.com/foaf/0.1/Agent + +<http://xmlns.com/foaf/0.1/Agent> a owl:Class ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Agent"@en . +# +# http://xmlns.com/foaf/0.1/Person + +<http://xmlns.com/foaf/0.1/Person> a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ; + rdfs:isDefinedBy <http://xmlns.com/foaf/0.1/> ; + rdfs:label "Person"@en . +# +# https://saref.etsi.org/saref4city#AdministrativeArea + +s4city:AdministrativeArea a owl:Class ; + rdfs:subClassOf geosp:Feature ; + rdfs:comment "An administrative division, unit, entity, area or region, also referred to as a subnational entity, constituent unit, or country subdivision, is a portion of a country or other region delineated for the purpose of administration. (https://en.wikipedia.org/wiki/Administrative_division)"@en ; + rdfs:label "Administrative area"@en . +# +# https://saref.etsi.org/saref4city#Agent + +s4city:Agent a owl:Class ; + rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> , + [ a owl:Restriction ; + owl:onProperty cpsv:provides ; + owl:allValuesFrom s4city:PublicService + ] , + + [ a owl:Restriction ; + owl:onProperty cpsv:uses ; + owl:allValuesFrom s4city:PublicService ] . + +s4city:Agent rdfs:comment "An agent making an action in the context of a city. An agent could be a person, software, etc."@en ; + rdfs:label "Agent"@en . +# +# https://saref.etsi.org/saref4city#City + +s4city:City a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A city is a large human settlement. A city is distinguished from other human settlements by its relatively great size, but also by its functions and its special symbolic status, which may be conferred by a central authority. (https://en.wikipedia.org/wiki/City)"@en ; + rdfs:label "City"@en . +# +# https://saref.etsi.org/saref4city#CityObject + +s4city:CityObject a owl:Class ; + rdfs:subClassOf geosp:Feature ; + rdfs:comment "Generic class for describing city objects."@en ; + rdfs:label "City object"@en . +# +# https://saref.etsi.org/saref4city#Country + +s4city:Country a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A country is a region that is identified as a distinct national entity in political geography. (https://en.wikipedia.org/wiki/Country)"@en ; + rdfs:label "Country"@en . +# +# https://saref.etsi.org/saref4city#District + +s4city:District a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A district is a type of administrative division that, in some countries, is managed by local government. Across the world, areas known as \"districts\" vary greatly in size, spanning regions or counties, several municipalities, subdivisions of municipalities, school district, or political district. (https://en.wikipedia.org/wiki/District)"@en ; + rdfs:label "District"@en . +# +# https://saref.etsi.org/saref4city#Event + +s4city:Event a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:hasAccesibility ; + owl:allValuesFrom <http://www.w3.org/2004/02/skos/core#Concept> ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isOrganizedBy ; + owl:allValuesFrom s4city:Agent ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isSubEventOf ; + owl:allValuesFrom s4city:Event ] , + + [ a owl:Restriction ; + owl:onProperty s4city:takesPlaceAtFacility ; + owl:allValuesFrom s4city:Facility ] , + + [ a owl:Restriction ; + owl:onProperty s4city:takesPlaceAtTime ; + owl:allValuesFrom time:TemporalEntity ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ]. + +s4city:Event rdfs:comment "Temporary and scheduled event, like a festival or competition. (Definition taken from Wikidata)"@en ; + rdfs:label "Event"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q1656682> . +# +# https://saref.etsi.org/saref4city#Facility + +s4city:Facility a owl:Class ; + rdfs:subClassOf geosp:Feature ; + rdfs:comment "A place, amenity, or piece of equipment provided for a particular purpose. (Definition taken from https://en.oxforddictionaries.com/definition/facility)"@en ; + rdfs:label "Facility"@en . +# +# https://saref.etsi.org/saref4city#KeyPerformanceIndicator + +s4city:KeyPerformanceIndicator a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:hasCalculationPeriod ; + owl:allValuesFrom time:TemporalEntity ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isKPIOf ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ] . + +s4city:KeyPerformanceIndicator rdfs:comment "A Key Performance Indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity in which it engages. (Definition taken from FIWARE)"@en ; + rdfs:label "Key Performance Indicator"@en ; + rdfs:seeAlso <http://fiware-datamodels.readthedocs.io/en/latest/KeyPerformanceIndicator/doc/spec/index.html> . +# +# https://saref.etsi.org/saref4city#KeyPerformanceIndicatorAssessment + +s4city:KeyPerformanceIndicatorAssessment a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:assesses ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isAssessedBy ; + owl:allValuesFrom s4city:Agent ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isDerivedFrom ; + owl:allValuesFrom saref:Measurement ] , + + [ a owl:Restriction ; + owl:onProperty s4city:quantifiesKPI ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ] , + + [ a owl:Restriction ; + owl:onProperty s4city:refersToTime ; + owl:allValuesFrom time:TemporalEntity ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure ] , + + [ a owl:Restriction ; + owl:onProperty s4city:hasCreationDate ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty s4city:hasExpirationDate ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty s4city:hasLastUpdateDate ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . + +s4city:KeyPerformanceIndicatorAssessment rdfs:comment "A Key Performance Indicator assessment represents the assessment of a KPI calculated by a given agent in a given time."@en ; + rdfs:label "Key performance indicator assessment"@en . +# +# https://saref.etsi.org/saref4city#Neighbourhood + +s4city:Neighbourhood a owl:Class ; + rdfs:subClassOf s4city:AdministrativeArea ; + rdfs:comment "A neighbourhood (British English), or neighborhood (American English; see spelling differences), is a geographically localised community within a larger city, town, suburb or rural area. (https://en.wikipedia.org/wiki/Neighbourhood)"@en ; + rdfs:label "Neighbourhood"@en . +# +# https://saref.etsi.org/saref4city#PublicAdministration + +s4city:PublicAdministration a owl:Class ; + rdfs:subClassOf <http://www.w3.org/ns/org#Organization> ; + rdfs:comment "Public leadership of public affairs directly responsible for executive action. (Definition taken from wikidata)"@en ; + rdfs:label "Public administration"@en ; + rdfs:seeAlso <https://www.wikidata.org/wiki/Q31728> . +# +# https://saref.etsi.org/saref4city#PublicService + +s4city:PublicService a owl:Class ; + rdfs:subClassOf cpsv:PublicService , + [ a owl:Restriction ; + owl:onProperty cpsv:physicallyAvailableAt ; + owl:allValuesFrom s4city:AdministrativeArea ] , + + [ a owl:Restriction ; + owl:onProperty s4city:involvesFacility ; + owl:allValuesFrom s4city:Facility ] , + + [ a owl:Restriction ; + owl:onProperty s4city:isAvailableInLanguage ; + owl:allValuesFrom dcterms:LinguisticSystem ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom rdfs:Literal ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom rdfs:Literal ] . + +s4city:PublicService rdfs:comment "Public service is a service which is provided by government either directly (through the public sector) or by financing provision of services. (Definition taken from Wikipedia)"@en ; + rdfs:label "Public service"@en ; + rdfs:seeAlso <https://en.wikipedia.org/wiki/Public_service> . +# +# https://w3id.org/saref#Actuator + +saref:Actuator a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment "A device responsible for moving or controlling a mechanism or system"@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Actuator"@en . +# +# https://w3id.org/saref#Device + +saref:Device a owl:Class ; + rdfs:subClassOf geosp:Feature , + [ a owl:Restriction ; + owl:onProperty saref:controlsProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom saref:Measurement ] , + + [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ] . + +saref:Device rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:label "Device"^^xsd:string . +# +# https://w3id.org/saref#FeatureOfInterest + +saref:FeatureOfInterest a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4city:hasKPI ; + owl:allValuesFrom s4city:KeyPerformanceIndicator ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:isFeatureOfInterestOf ; + owl:allValuesFrom saref:Measurement ] . +# +# https://w3id.org/saref#Measurement + +saref:Measurement a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:hasFeatureOfInterest ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure ] , + + [ a owl:Restriction ; + owl:onProperty saref:measurementMadeBy ; + owl:allValuesFrom saref:Device ] , + + [ a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure ] , + + [ a owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime ] , + + [ a owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:cardinality "1"^^xsd:nonNegativeInteger ] . +# +saref:Measurement owl:disjointWith saref:Property , saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Measurement"@en . +# +# https://w3id.org/saref#Property + +saref:Property a owl:Class ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:isControlledByDevice ; + owl:allValuesFrom saref:Device ] , + + [ a owl:Restriction ; + owl:onProperty saref:isMeasuredByDevice ; + owl:allValuesFrom saref:Device ] , + + [ a owl:Restriction ; + owl:onProperty saref:isPropertyOf ; + owl:allValuesFrom saref:FeatureOfInterest ] , + + [ a owl:Restriction ; + owl:onProperty saref:relatesToMeasurement ; + owl:allValuesFrom saref:Measurement ] . + +saref:Property owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en , "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended."^^xsd:string ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Property"@en . +# +# https://w3id.org/saref#Sensor + +saref:Sensor a owl:Class ; + rdfs:subClassOf saref:Device ; + rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Sensor"@en . +# +# https://w3id.org/saref#UnitOfMeasure + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy <https://w3id.org/saref#> ; + rdfs:label "Unit of measure"@en . +# +# +# +# ################################################################# +# # +# # Annotations +# # +# ################################################################# +# +# + +geo:location rdfs:comment """The relation between something and the point, + or other geometrical thing in space, where it is. For example, the realtionship between + a radio tower and a Point with a given lat and long. + Or a relationship between a park and its outline as a closed arc of points, or a road and + its location as a arc (a sequence of points). + Clearly in practice there will be limit to the accuracy of any such statement, but one would expect + an accuracy appropriate for the size of the object and uses such as mapping . + """ ; + rdfs:label "location"@en . + diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4ener/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4ener/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.html b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.html new file mode 100644 index 0000000000000000000000000000000000000000..d5c27393c9619fca4f1105620cb34ae717763339 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations</h1> + <p><strong>Official ETSI documentation for SAREF4ENER v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4ENER ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4ENER v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4ener.ttl">Turtle</a> or <a href="./saref4ener.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4ener#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1).</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.n3 b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.n3 new file mode 100644 index 0000000000000000000000000000000000000000..7cdc6a9363185fbb6276a84d6b9dd31faf86b444 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.n3 @@ -0,0 +1,1254 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix s4ener: <https://saref.etsi.org/saref4ener#> . + +s4ener:eventAccepted a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event accepted'" ; + rdfs:label "event accepted" . + +s4ener:PauseDurationMin + a owl:Class ; + rdfs:comment "The minimum duration a power sequence can pause after the end of an activity." ; + rdfs:label "Pause duration min" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:created "2015-09-04"^^xsd:date ; + dcterms:description "SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1)." ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2016-12-13"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341001/01.01.01_60/ts_10341001v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4ener/> ; + dcterms:title "SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations" ; + vann:preferredNamespacePrefix "s4ener" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4ener#" ; + owl:imports <https://saref.etsi.org/saref/v2.1.1/saref#> ; + owl:versionIRI <https://saref.etsi.org/saref4ener/v1.1.1/saref4ener#> ; + owl:versionInfo "1.1.1" . + +s4ener:activateSlot a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory)." ; + rdfs:label "activate slot" ; + rdfs:range xsd:boolean . + +s4ener:RemainingPauseTime + a owl:Class ; + rdfs:comment "The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused." ; + rdfs:label "Remaining pause time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:pending a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'pending'" ; + rdfs:label "pending" . + +s4ener:greenest a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. " ; + rdfs:label "greenest" ; + rdfs:range xsd:boolean . + +s4ener:manufacturerLabel + a owl:DatatypeProperty ; + rdfs:comment "A short label of the device as defined by the manufacturer. " ; + rdfs:label "manufacturer label" ; + rdfs:range xsd:string . + +s4ener:softwareRevision + a owl:DatatypeProperty ; + rdfs:comment "Indicates the software revision of a device as defined by the manufacturer." ; + rdfs:label "software revision" ; + rdfs:range xsd:string . + +s4ener:EventStateProduce + a owl:Class ; + rdfs:label "Event state produce" ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( "s4ener:eventAccepted" "s4ener:eventStarted" "s4ener:eventStopped" "s4ener:eventRejected" "s4ener:eventCancelled" "s4ener:eventError" ) . + +s4ener:cheapest a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. " ; + rdfs:label "cheapest" ; + rdfs:range xsd:boolean . + +s4ener:PauseDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the pause duration (max and min) temporal entities" ; + rdfs:label "Pause duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:ActuatorLevel a owl:Class ; + rdfs:comment "Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc." ; + rdfs:label "Actuator level" ; + rdfs:subClassOf saref:Actuator . + +s4ener:powerSource a owl:DatatypeProperty ; + rdfs:comment "Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery " ; + rdfs:label "power source" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "unknown" "mainsSinglePhase" "mains3Phase" "battery" "dc" ) + ] . + +s4ener:maxCyclesPerDay + a owl:DatatypeProperty ; + rdfs:comment "States the maximum amount of starts a power sequence (of a device) allows per day." ; + rdfs:label "max cycles per day" ; + rdfs:range xsd:unsignedInt . + +s4ener:DurationUncertaintyDescription + a owl:Class ; + rdfs:comment "The duration description for the duration uncertainty temporal entity" ; + rdfs:label "Duration uncertainty description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:TimePeriodDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the time period duration temporal entities" ; + rdfs:label "Time period duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:hasValueType a owl:ObjectProperty ; + rdfs:comment "A relation representing the value type of an entity" ; + rdfs:label "has value type" . + +s4ener:increase a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'increase'" ; + rdfs:label "increase" . + +s4ener:supportsReselection + a owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once." ; + rdfs:label "supports reselection" ; + rdfs:range xsd:boolean . + +s4ener:PowerSkewness a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power skewness and its value" ; + rdfs:label "Power skewness" ; + rdfs:subClassOf s4ener:Power . + +s4ener:EndTime a owl:Class ; + rdfs:comment "The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.\r\nThe end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration." ; + rdfs:label "End time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PauseTime a owl:Class ; + rdfs:comment "The pause time of a power sequence or a slot" ; + rdfs:label "Pause time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:brandName a owl:DatatypeProperty ; + rdfs:comment "Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs." ; + rdfs:label "brand name" ; + rdfs:range xsd:string . + +s4ener:PowerStandardDeviation + a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power standard deviation and its value" ; + rdfs:label "Power standard deviation" ; + rdfs:subClassOf s4ener:Power . + +s4ener:EarliestStartTime + a owl:Class ; + rdfs:comment "The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.\r\nNote: This element applies to the first repetition of the slot number only." ; + rdfs:label "Earliest start time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:LoadControlStateData + a owl:Class ; + rdfs:comment "The representation of the state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load control state data" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:eventID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce + ] . + +s4ener:normal a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "The value NORMAL used to instantiate the Load Control Event Action class and MeasurandState class" ; + rdfs:label "normal" . + +s4ener:State a owl:Class ; + rdfs:comment "An entity that represents the possible states in SAREF4EE" ; + rdfs:label "State" ; + rdfs:subClassOf saref:State . + +s4ener:ActivationDelay + a owl:Class ; + rdfs:comment "The scheduled activation delay for a slot." ; + rdfs:label "Activation delay" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:hasEnergyValueType + a owl:ObjectProperty ; + rdfs:comment "A relationship representing an energy value type" ; + rdfs:label "has energy value type" ; + rdfs:subPropertyOf s4ener:hasValueType . + +s4ener:hasEnergy a owl:ObjectProperty ; + rdfs:comment "A relationship between a power sequence and its energy (in terms of value and unit of measure)" ; + rdfs:label "has energy" ; + rdfs:range s4ener:Energy . + +s4ener:resume a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'resume'" ; + rdfs:label "resume" . + +s4ener:taskIdentifier + a owl:DatatypeProperty ; + rdfs:label "task identifier" ; + rdfs:range xsd:unsignedInt . + +s4ener:ActiveDurationMax + a owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run without interruption." ; + rdfs:label "Active duration max" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:receives a owl:ObjectProperty ; + rdfs:comment "A relationship between a device (e.g., an appliance or a smart meter) and a load control event" ; + rdfs:label "receives" . + +s4ener:LoadControlEventAction + a owl:Class ; + rdfs:comment "An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load Control event action" . + +s4ener:inactive a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'inactive'" ; + rdfs:label "inactive" . + +s4ener:eventStarted a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event started'" ; + rdfs:label "event started" . + +s4ener:eventRejected a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event rejected'" ; + rdfs:label "event rejected" . + +s4ener:manufacturerNodeIdentification + a owl:DatatypeProperty ; + rdfs:comment "Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address." ; + rdfs:label "manufacturer node identification" ; + rdfs:range xsd:string . + +s4ener:sequenceID a owl:DatatypeProperty ; + rdfs:comment "Provides a unique power sequence identifier for a certain device" ; + rdfs:label "sequence ID" ; + rdfs:range xsd:unsignedInt . + +s4ener:ActiveDurationSumMin + a owl:Class ; + rdfs:comment "The active minimum duration a power sequence must run in total (summation of all active times)." ; + rdfs:label "Active duration sum min" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +[ a owl:Class ; + owl:unionOf ( xsd:int xsd:double ) +] . + +s4ener:EventActionConsume + a owl:Class ; + rdfs:label "Event action consume" ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( "s4ener:pause" "s4ener:resume" "s4ener:reduce" "s4ener:increase" "s4ener:emergency" "s4ener:normal" ) . + +s4ener:eventError a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event error'" ; + rdfs:label "event error" . + +s4ener:Energy a owl:Class ; + rdfs:comment "Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)" ; + rdfs:label "Energy" ; + rdfs:subClassOf saref:Energy . + +s4ener:hasExpression a owl:ObjectProperty ; + rdfs:comment "A relationship between an appliance parameter compatibility action and the associated expressions" ; + rdfs:label "has expression" . + +s4ener:MaxDuration a owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only" ; + rdfs:label "Max duration" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +[ a owl:Class ; + owl:unionOf ( xsd:int xsd:double ) +] . + +s4ener:valueSource a owl:DatatypeProperty ; + rdfs:comment "Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast." ; + rdfs:label "value source" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "measuredValue" "calculatedValue" "empiricalValue" ) + ] . + +s4ener:eventStopped a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event stopped'" ; + rdfs:label "event stopped" . + +s4ener:hasConnection a owl:ObjectProperty ; + rdfs:comment "In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time." ; + rdfs:label "has connection" . + +s4ener:MinDuration a owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only." ; + rdfs:label "Min duration" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:scheduled a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'scheduled'" ; + rdfs:label "scheduled" . + +s4ener:ActuatorSwitch + a owl:Class ; + rdfs:comment "Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off." ; + rdfs:label "Actuator switch" ; + rdfs:subClassOf saref:Actuator . + +s4ener:alternativesGroupID + a owl:DatatypeProperty ; + rdfs:comment "The endpoint-wide unique identifier for the alternatives group instances provided by a power profile" ; + rdfs:label "alternatives group ID" ; + rdfs:range xsd:integer . + +<http://www.w3.org/2006/time#DurationDescription> + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:xsdDuration + ] . + +s4ener:optionalSlot a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number." ; + rdfs:label "optional slot" ; + rdfs:range xsd:boolean . + +s4ener:RemainingSlotTime + a owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted." ; + rdfs:label "Remaining slot time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerProfile a owl:Class ; + rdfs:comment "A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client). " ; + rdfs:label "Power profile" ; + rdfs:subClassOf saref:Profile ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:belongsTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsSingleSlotSchedulingOnly + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:totalSequencesCountMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:alternativesCount + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:nodeRemoteControllable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsReselection + ] . + +s4ener:PowerMax a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the maximum power consumption and its value" ; + rdfs:label "Power max" ; + rdfs:subClassOf s4ener:Power . + +s4ener:manufacturerDescription + a owl:DatatypeProperty ; + rdfs:comment "A description for the device as defined by the manufacturer." ; + rdfs:label "manufacturer description" ; + rdfs:range xsd:string . + +s4ener:MaxActivationDelay + a owl:Class ; + rdfs:comment "Maximum delay time between the end of the previous slot and the beginning of the current slot." ; + rdfs:label "Max activation delay" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:LatestEndTime a owl:Class ; + rdfs:comment "The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.\r\nNote: This element applies to the first repetition of the slot number only." ; + rdfs:label "Latest end time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:EnergyStandardDeviation + a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy standard deviation and its value" ; + rdfs:label "Energy Standard Deviation" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:EnergyMin a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the minimum energy consumption and its value" ; + rdfs:label "Energy min" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:activeRepetitionNumber + a owl:DatatypeProperty ; + rdfs:comment "Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent. " ; + rdfs:label "active repetition number" ; + rdfs:range xsd:unsignedInt . + +s4ener:ActiveDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the active duration (min and max, sum max and sum min) temporal entities" ; + rdfs:label "Active duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:Slot a owl:Class ; + rdfs:comment "The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID. " ; + rdfs:label "Slot" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MaxDuration ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotActivated + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Time ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DurationUncertainty ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Power ; + owl:onProperty s4ener:hasPowerValueType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MinDuration ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DefaultDuration ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Energy ; + owl:onProperty s4ener:hasEnergyValueType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingPauseTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:optionalSlot + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass [ a owl:Class ; + owl:unionOf ( s4ener:Energy s4ener:Power ) + ] ; + owl:onProperty s4ener:hasValueType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] . + +s4ener:scheduledPaused + a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'scheduled paused'" ; + rdfs:label "scheduled paused" . + +s4ener:EventActionProduce + a owl:Class ; + rdfs:label "Event action produce" ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( "s4ener:pause" "s4ener:resume" "s4ener:reduce" "s4ener:increase" "s4ener:emergency" "s4ener:normal" ) . + +s4ener:LoadControlEventState + a owl:Class ; + rdfs:comment "In the load control, it expresses the possible states of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load control event state " ; + rdfs:subClassOf s4ener:State . + +s4ener:DurationUncertainty + a owl:Class ; + rdfs:comment "The uncertainty of the duration " ; + rdfs:label "Duration uncertainty" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerExpected a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the expected power consumption and its value" ; + rdfs:label "Power expected " ; + rdfs:subClassOf s4ener:Power . + +s4ener:hasPowerValueType + a owl:ObjectProperty ; + rdfs:comment "A relationship representing a power value type" ; + rdfs:label "has power value type" ; + rdfs:subPropertyOf s4ener:hasValueType . + +s4ener:PauseDurationMax + a owl:Class ; + rdfs:comment "The maximum duration a power sequence can pause after the end of an activity." ; + rdfs:label "Pause duration max" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:belongsTo a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device. " ; + rdfs:label "belongs to" . + +s4ener:ActivationDelayDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the activation delay duration temporal entity" ; + rdfs:label "Activation delay duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:StartTimeDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the start time duration temporal entities" ; + rdfs:label "Start time duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:xsdDuration a owl:DatatypeProperty ; + rdfs:comment "This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model:\r\n- the startTime of the power sequence (in the PowerSequence class). SHALL be present\r\n- the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.\r\n- the startTime of measurement as absolute or relative value (in the Measurement class).\r\n- the endTime of measurement as absolute or relative value (in the Measurement class)." ; + rdfs:label "duration in xsd " ; + rdfs:range xsd:duration . + +s4ener:hasDevice a owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event (used to send overload warning severity level and related load control commands) and the device interested by this event." ; + rdfs:label "has device" . + +s4ener:eventID a owl:DatatypeProperty ; + rdfs:comment "Used in the Demand Response use case to identify an event" ; + rdfs:label "event ID" ; + rdfs:range xsd:unsignedInt . + +s4ener:DefaultDuration + a owl:Class ; + rdfs:comment "The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght" ; + rdfs:label "Default duration" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerSequence a owl:Class ; + rdfs:comment "The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted." ; + rdfs:label "Power sequence" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeSlotNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceRemoteControllable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Slot ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:valueSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingSlotTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMax ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMax ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequenceState ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeRepetitionNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Slot ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMax ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isPausable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMin ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMin ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isStoppable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:maxCyclesPerDay + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequenceState ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ElapsedSlotTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMin ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:greenest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:taskIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:repetitionsTotal + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:cheapest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo + ] . + +s4ener:EnergyExpected + a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the expected energy consumption and its value" ; + rdfs:label "Energy expected" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:activeSlotNumber + a owl:DatatypeProperty ; + rdfs:comment "Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted." ; + rdfs:label "active slot number" ; + rdfs:range xsd:unsignedInt . + +s4ener:paused a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state or sensor state with value 'paused'" ; + rdfs:label "paused" . + +s4ener:isStoppable a owl:DatatypeProperty ; + rdfs:label "is stoppable" ; + rdfs:range xsd:boolean . + +s4ener:alternativesCount + a owl:DatatypeProperty ; + rdfs:comment "Indicates the number of alternatives groups provided by a power profile" ; + rdfs:label "alternatives count" ; + rdfs:range xsd:integer . + +s4ener:Device a owl:Class ; + rdfs:comment "A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)" ; + rdfs:label "Device" ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:exposes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:exposes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:serialNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:softwareRevision + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerNodeIdentification + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceCode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:powerSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorCode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:hardwareRevision + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerLabel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:brandName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives + ] . + +s4ener:DefaultDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the default duration temporal entity" ; + rdfs:label "Default duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:AlternativesGroup + a owl:Class ; + rdfs:comment "A collection of power sequences for a certain profile" ; + rdfs:label "Alternatives group" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:alternativesGroupID ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo + ] . + +s4ener:MaxAnticipation + a owl:Class ; + rdfs:comment "This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute." ; + rdfs:label "Max anticipation" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:LoadControlEventData + a owl:Class ; + rdfs:comment "An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load control event data" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:eventID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:hasDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:hasDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:TimePeriod ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:TimePeriod ; + owl:onProperty saref:hasTime + ] . + +s4ener:serialNumber a owl:DatatypeProperty ; + rdfs:comment "Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case." ; + rdfs:label "serial number" ; + rdfs:range xsd:string . + +s4ener:ActiveDurationMin + a owl:Class ; + rdfs:comment "The active mininum duration a power sequence can run without interruption." ; + rdfs:label "Active duration min" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:AnticipationDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the anticipation duration temporal entities" ; + rdfs:label "Anticipation duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:nodeRemoteControllable + a owl:DatatypeProperty ; + rdfs:comment "Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE." ; + rdfs:label "node remote controllable" ; + rdfs:range xsd:boolean . + +s4ener:EndTimeDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the end time duration temporal entities" ; + rdfs:label "End time duration Description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:running a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'running'" ; + rdfs:label "running" . + +s4ener:PowerSequenceState + a owl:Class ; + rdfs:comment "The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'." ; + rdfs:label "Power sequence state" ; + rdfs:subClassOf s4ener:State ; + owl:oneOf ( "s4ener:running" "s4ener:paused" "s4ener:scheduled" "s4ener:scheduledPaused" "s4ener:pending" "s4ener:inactive" "s4ener:completed" "s4ener:invalid" ) . + +s4ener:slotActivated a owl:DatatypeProperty ; + rdfs:comment "If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent." ; + rdfs:label "slot activated" ; + rdfs:range xsd:boolean . + +s4ener:ActiveDurationSumMax + a owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run in total (summation of all active times)." ; + rdfs:label "Active duration sum max" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:messagingType a owl:DatatypeProperty ; + rdfs:comment "Indicates the type of the message. Possible values are:\r\n-\tlogging (used for messages, that shall be stored in a log file)\r\n-\tinformation (messages, that shall be presented to the customer on a display; lower priority)\r\n-\twarning (messages, that shall be presented to the customer on a display; medium priority)\r\n-\talarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm)\r\n-\temergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done)\r\n-\tobsolete (previously sent messages, that shall be marked as obsolete)" ; + rdfs:label "messaging type" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "logging" "information" "warning" "alarm" "emergency" "obsolete" ) + ] . + +s4ener:pause a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'pause'" ; + rdfs:label "pause" . + +s4ener:totalSequencesCountMax + a owl:DatatypeProperty ; + rdfs:comment "Represents the total number of power sequences supported by the power profile of a device" ; + rdfs:label "total sequences count max" ; + rdfs:range xsd:unsignedInt . + +s4ener:hasEventStateConsume + a owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event consume and the value that this state can assume." ; + rdfs:label "has event state consume" ; + rdfs:subPropertyOf saref:hasState . + +s4ener:exposes a owl:ObjectProperty ; + rdfs:comment "A relationship between a device and its power profile" ; + rdfs:label "exposes" . + +s4ener:emergency a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'emergency'" ; + rdfs:label "emergency" . + +s4ener:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the functions performed by an actuator level and an actuator switch" ; + rdfs:label "has function" . + +s4ener:Power a owl:Class ; + rdfs:comment "Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)" ; + rdfs:label "Power" ; + rdfs:subClassOf saref:Power . + +s4ener:hasEventStateProduce + a owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event produce and the value that this state can assume." ; + rdfs:label "has event state produce" ; + rdfs:subPropertyOf saref:hasState . + +s4ener:completed a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'completed'" ; + rdfs:label "completed" . + +s4ener:repetitionsTotal + a owl:DatatypeProperty ; + rdfs:comment "Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1. " ; + rdfs:label "repetition total" ; + rdfs:range xsd:unsignedInt . + +s4ener:SlotTimeDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the slot time duration temporal entities" ; + rdfs:label "Slot time duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:deviceCode a owl:DatatypeProperty ; + rdfs:comment "Provides a device code for the device as defined by the manufacturer." ; + rdfs:label "device code" ; + rdfs:range xsd:string . + +s4ener:valueTendency a owl:DatatypeProperty ; + rdfs:comment "Indicates whether the tendency of a measurement is rising, stable or falling." ; + rdfs:label "value tendency" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "rising" "stable" "falling" ) + ] . + +s4ener:ResumeEnergyEstimated + a owl:Class ; + rdfs:comment "In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information." ; + rdfs:label "Resume energy estimated" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:TimePeriod a owl:Class ; + rdfs:comment "The time period associated with load control event data" ; + rdfs:label "Time period" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerMin a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the minimum power consumption and its value" ; + rdfs:label "Power min" ; + rdfs:subClassOf s4ener:Power . + +s4ener:isPausable a owl:DatatypeProperty ; + rdfs:label "is pausable" ; + rdfs:range xsd:boolean . + +s4ener:ResumeCostEstimated + a owl:Class ; + rdfs:comment "In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause)." ; + rdfs:label "Resume cost estimated" ; + rdfs:subClassOf saref:Price . + +s4ener:EnergySkewness + a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy skewness and its value" ; + rdfs:label "Energy skewness" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:vendorName a owl:DatatypeProperty ; + rdfs:comment "Provides the name of the vendor of the device as defined by the manufacturer." ; + rdfs:label "vendor name" ; + rdfs:range xsd:string . + +s4ener:measurementID a owl:DatatypeProperty ; + rdfs:comment "Enables the identification of different sensors on one EEBus address." ; + rdfs:label "measurement id" ; + rdfs:range xsd:unsignedInt . + +s4ener:hardwareRevision + a owl:DatatypeProperty ; + rdfs:comment "Indicates the hardware revision of the device as defined by the manufacturer." ; + rdfs:label "hardware revision " ; + rdfs:range xsd:string . + +s4ener:supportsSingleSlotSchedulingOnly + a owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command." ; + rdfs:label "supports single slot scheduling only" ; + rdfs:range xsd:boolean . + +s4ener:ElapsedSlotTime + a owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted." ; + rdfs:label "Elapsed slot time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:invalid a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'invalid'" ; + rdfs:label "invalid" . + +s4ener:sequenceRemoteControllable + a owl:DatatypeProperty ; + rdfs:comment "Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state." ; + rdfs:label "sequence remote controllable" ; + rdfs:range xsd:boolean . + +s4ener:slotNumber a owl:DatatypeProperty ; + rdfs:comment "Provides a unique slot identifier for a certain power sequence" ; + rdfs:label "slot number" ; + rdfs:range xsd:unsignedInt . + +s4ener:hasAppliedEventActionConsume + a owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event consume and the action to be performed as a consequence of this event." ; + rdfs:label "has applied event action consume" . + +s4ener:StartTime a owl:Class ; + rdfs:comment "The startTime of a power sequence or slot. SHALL be present" ; + rdfs:label "Start time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:EnergyMax a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the maximum energy consumption and its value" ; + rdfs:label "Energy max" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:vendorCode a owl:DatatypeProperty ; + rdfs:comment "Provides a code for the vendor of the device as defined by the manufacturer." ; + rdfs:label "vendor code" ; + rdfs:range xsd:string . + +s4ener:hasAppliedEventActionProduce + a owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event produce and the action to be performed as a consequence of this event." ; + rdfs:label "has applied event action produce" . + +s4ener:triggersEventActionConsume + a owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the consume action triggered by this event" ; + rdfs:label "triggers event action consume" . + +s4ener:deviceName a owl:DatatypeProperty ; + rdfs:comment "Provides the name of the device as defined by the manufacturer." ; + rdfs:label "device name" ; + rdfs:range xsd:string . + +s4ener:eventCancelled + a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event cancelled'" ; + rdfs:label "event cancelled" . + +s4ener:triggersEventActionProduce + a owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the produce action triggered by this event" ; + rdfs:label "triggers event action produce" . + +s4ener:messagingNumber + a owl:DatatypeProperty ; + rdfs:comment "An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message." ; + rdfs:label "messaging number" ; + rdfs:range xsd:unsignedInt . + +s4ener:reduce a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'reduce'" ; + rdfs:label "reduce" . + +s4ener:EventStateConsume + a owl:Class ; + rdfs:label "Event state consume" ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( "s4ener:eventAccepted" "s4ener:eventStarted" "s4ener:eventStopped" "s4ener:eventRejected" "s4ener:eventCancelled" "s4ener:eventError" ) . diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.rdf b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.rdf new file mode 100644 index 0000000000000000000000000000000000000000..c9cabf34060f5cf931f2de6fb6135084991a9085 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.rdf @@ -0,0 +1,1952 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:s4ener="https://saref.etsi.org/saref4ener#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4ener#"> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341001/01.01.01_60/ts_10341001v010101p.pdf"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4ener/v1.1.1/saref4ener#"/> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4ener#</vann:preferredNamespaceUri> + <owl:imports rdf:resource="https://saref.etsi.org/saref/v2.1.1/saref#"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <vann:preferredNamespacePrefix>s4ener</vann:preferredNamespacePrefix> + <owl:versionInfo>1.1.1</owl:versionInfo> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4ener/"/> + <dcterms:title>SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations</dcterms:title> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2015-09-04</dcterms:created> + <dcterms:description>SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1).</dcterms:description> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2016-12-13</dcterms:modified> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequence"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergy"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeEnergyEstimated"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:onClass> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeSlotNumber"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasPrice"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeCostEstimated"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergy"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeEnergyEstimated"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceRemoteControllable"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LatestEndTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTime"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Slot"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#valueSource"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingSlotTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasDescription"/> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMax"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EarliestStartTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMax"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Power sequence</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceID"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasState"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequenceState"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeRepetitionNumber"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Slot"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMax"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isPausable"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMin"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMin"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isStoppable"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#maxCyclesPerDay"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasPrice"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeCostEstimated"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasState"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequenceState"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ElapsedSlotTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMin"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#greenest"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#taskIdentifier"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#repetitionsTotal"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#cheapest"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSkewness"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power skewness</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the power skewness and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergySkewness"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"/> + </rdfs:subClassOf> + <rdfs:label>Energy skewness</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the energy skewness and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyMin"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"/> + </rdfs:subClassOf> + <rdfs:label>Energy min</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the minimum energy consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActivationDelayDurationDescription"> + <rdfs:subClassOf> + <rdf:Description rdf:about="http://www.w3.org/2006/time#DurationDescription"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#xsdDuration"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </rdf:Description> + </rdfs:subClassOf> + <rdfs:label>Activation delay duration description</rdfs:label> + <rdfs:comment>The duration description for the activation delay duration temporal entity</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Energy"/> + <rdfs:label>Energy</rdfs:label> + <rdfs:comment>Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventData"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionConsume"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionProduce"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#eventID"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionProduce"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionConsume"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasDevice"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Load control event data</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasDevice"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriod"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriod"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LatestEndTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Latest end time</rdfs:label> + <rdfs:comment>The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.
 +Note: This element applies to the first repetition of the slot number only.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriod"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Time period</rdfs:label> + <rdfs:comment>The time period associated with load control event data</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateProduce"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:eventError</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventCancelled</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventRejected</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStopped</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStarted</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventAccepted</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventState"/> + </rdfs:subClassOf> + <rdfs:label>Event state produce</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ElapsedSlotTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Elapsed slot time</rdfs:label> + <rdfs:comment>If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Pause time</rdfs:label> + <rdfs:comment>The pause time of a power sequence or a slot</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerStandardDeviation"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power standard deviation</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the power standard deviation and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriodDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Time period duration description</rdfs:label> + <rdfs:comment>The duration description for the time period duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerProfile"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Power profile</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsSingleSlotSchedulingOnly"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:onClass> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client). </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#totalSequencesCountMax"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Profile"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesCount"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#nodeRemoteControllable"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsReselection"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DefaultDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Default duration description</rdfs:label> + <rdfs:comment>The duration description for the default duration temporal entity</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequenceState"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:invalid</rdf:first> + </rdf:rest> + <rdf:first>s4ener:completed</rdf:first> + </rdf:rest> + <rdf:first>s4ener:inactive</rdf:first> + </rdf:rest> + <rdf:first>s4ener:pending</rdf:first> + </rdf:rest> + <rdf:first>s4ener:scheduledPaused</rdf:first> + </rdf:rest> + <rdf:first>s4ener:scheduled</rdf:first> + </rdf:rest> + <rdf:first>s4ener:paused</rdf:first> + </rdf:rest> + <rdf:first>s4ener:running</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#State"/> + </rdfs:subClassOf> + <rdfs:label>Power sequence state</rdfs:label> + <rdfs:comment>The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DefaultDuration"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Default duration</rdfs:label> + <rdfs:comment>The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTimeDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Start time duration description</rdfs:label> + <rdfs:comment>The duration description for the start time duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AnticipationDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Anticipation duration description</rdfs:label> + <rdfs:comment>The duration description for the anticipation duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventState"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#State"/> + </rdfs:subClassOf> + <rdfs:label>Load control event state </rdfs:label> + <rdfs:comment>In the load control, it expresses the possible states of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlStateData"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionConsume"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionProduce"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#eventID"/> + </owl:onProperty> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Load control state data</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:comment>The representation of the state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionConsume"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateConsume"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateConsume"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateProduce"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#EventStateProduce"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateConsume"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateConsume"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateProduce"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#EventStateProduce"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionProduce"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#SlotTimeDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Slot time duration description</rdfs:label> + <rdfs:comment>The duration description for the slot time duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DurationUncertaintyDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Duration uncertainty description</rdfs:label> + <rdfs:comment>The duration description for the duration uncertainty temporal entity</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Active duration description</rdfs:label> + <rdfs:comment>The duration description for the active duration (min and max, sum max and sum min) temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingSlotTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Remaining slot time</rdfs:label> + <rdfs:comment>If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMax"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration sum max</rdfs:label> + <rdfs:comment>The active maximum duration a power sequence can run in total (summation of all active times).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMin"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Pause duration min</rdfs:label> + <rdfs:comment>The minimum duration a power sequence can pause after the end of an activity.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesGroupID"/> + </owl:onProperty> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:label>Alternatives group</rdfs:label> + <rdfs:comment>A collection of power sequences for a certain profile</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyExpected"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Energy expected</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the expected energy consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMin"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration min</rdfs:label> + <rdfs:comment>The active mininum duration a power sequence can run without interruption.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerMin"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power min</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the minimum power consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerExpected"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power expected </rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the expected power consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxAnticipation"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Max anticipation</rdfs:label> + <rdfs:comment>This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActuatorSwitch"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Actuator"/> + <rdfs:label>Actuator switch</rdfs:label> + <rdfs:comment>Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EarliestStartTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Earliest start time</rdfs:label> + <rdfs:comment>The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.
 +Note: This element applies to the first repetition of the slot number only.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:normal</rdf:first> + </rdf:rest> + <rdf:first>s4ener:emergency</rdf:first> + </rdf:rest> + <rdf:first>s4ener:increase</rdf:first> + </rdf:rest> + <rdf:first>s4ener:reduce</rdf:first> + </rdf:rest> + <rdf:first>s4ener:resume</rdf:first> + </rdf:rest> + <rdf:first>s4ener:pause</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventAction"/> + </rdfs:subClassOf> + <rdfs:label>Event action consume</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#State"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#State"/> + <rdfs:label>State</rdfs:label> + <rdfs:comment>An entity that represents the possible states in SAREF4EE</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Slot"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxDuration"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotActivated"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Time"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DurationUncertainty"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasPowerValueType"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#LatestEndTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MinDuration"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#DefaultDuration"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#EarliestStartTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergyValueType"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingPauseTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#optionalSlot"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"/> + </owl:onProperty> + <owl:onClass> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </owl:unionOf> + </owl:Class> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotNumber"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Slot</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasDescription"/> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyMax"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Energy max</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the maximum energy consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxDuration"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Max duration</rdfs:label> + <rdfs:comment>If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeEnergyEstimated"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Resume energy estimated</rdfs:label> + <rdfs:comment>In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:normal</rdf:first> + </rdf:rest> + <rdf:first>s4ener:emergency</rdf:first> + </rdf:rest> + <rdf:first>s4ener:increase</rdf:first> + </rdf:rest> + <rdf:first>s4ener:reduce</rdf:first> + </rdf:rest> + <rdf:first>s4ener:resume</rdf:first> + </rdf:rest> + <rdf:first>s4ener:pause</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventAction"/> + </rdfs:subClassOf> + <rdfs:label>Event action produce</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingPauseTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Remaining pause time</rdfs:label> + <rdfs:comment>The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerMax"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power max</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the maximum power consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DurationUncertainty"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Duration uncertainty</rdfs:label> + <rdfs:comment>The uncertainty of the duration </rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>End time</rdfs:label> + <rdfs:comment>The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.
 +The end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration.</rdfs:comment> + </owl:Class> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#int"/> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#double"/> + </owl:unionOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMin"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration sum min</rdfs:label> + <rdfs:comment>The active minimum duration a power sequence must run in total (summation of all active times).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MinDuration"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Min duration</rdfs:label> + <rdfs:comment>If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxActivationDelay"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Max activation delay</rdfs:label> + <rdfs:comment>Maximum delay time between the end of the previous slot and the beginning of the current slot.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeCostEstimated"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Price"/> + <rdfs:label>Resume cost estimated</rdfs:label> + <rdfs:comment>In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMax"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Pause duration max</rdfs:label> + <rdfs:comment>The maximum duration a power sequence can pause after the end of an activity.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTimeDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>End time duration Description</rdfs:label> + <rdfs:comment>The duration description for the end time duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Power"/> + <rdfs:label>Power</rdfs:label> + <rdfs:comment>Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventAction"> + <rdfs:label>Load Control event action</rdfs:label> + <rdfs:comment>An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActuatorLevel"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Actuator"/> + <rdfs:label>Actuator level</rdfs:label> + <rdfs:comment>Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMax"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration max</rdfs:label> + <rdfs:comment>The active maximum duration a power sequence can run without interruption.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyStandardDeviation"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Energy Standard Deviation</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the energy standard deviation and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#exposes"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceName"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#exposes"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#serialNumber"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#softwareRevision"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#receives"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#LoadControlEventData"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerNodeIdentification"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceCode"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorName"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#powerSource"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorCode"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#hardwareRevision"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)</rdfs:comment> + <rdfs:label>Device</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerLabel"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerDescription"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#brandName"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#receives"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#LoadControlEventData"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Start time</rdfs:label> + <rdfs:comment>The startTime of a power sequence or slot. SHALL be present</rdfs:comment> + </owl:Class> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#int"/> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#double"/> + </owl:unionOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Pause duration description</rdfs:label> + <rdfs:comment>The duration description for the pause duration (max and min) temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateConsume"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:eventError</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventCancelled</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventRejected</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStopped</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStarted</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventAccepted</rdf:first> + </owl:oneOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#LoadControlEventState"/> + <rdfs:label>Event state consume</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActivationDelay"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Activation delay</rdfs:label> + <rdfs:comment>The scheduled activation delay for a slot.</rdfs:comment> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateConsume"> + <rdfs:subPropertyOf rdf:resource="https://w3id.org/saref#hasState"/> + <rdfs:label>has event state consume</rdfs:label> + <rdfs:comment>A relationship between the specification of the state of a load control event consume and the value that this state can assume.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasFunction"> + <rdfs:label>has function</rdfs:label> + <rdfs:comment>A relationship identifying the functions performed by an actuator level and an actuator switch</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasPowerValueType"> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"/> + </rdfs:subPropertyOf> + <rdfs:label>has power value type</rdfs:label> + <rdfs:comment>A relationship representing a power value type</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasConnection"> + <rdfs:label>has connection</rdfs:label> + <rdfs:comment>In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasExpression"> + <rdfs:label>has expression</rdfs:label> + <rdfs:comment>A relationship between an appliance parameter compatibility action and the associated expressions</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionProduce"> + <rdfs:label>has applied event action produce</rdfs:label> + <rdfs:comment>A relationship between the state of a load control event produce and the action to be performed as a consequence of this event.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasDevice"> + <rdfs:label>has device</rdfs:label> + <rdfs:comment>A relationship between a load control event (used to send overload warning severity level and related load control commands) and the device interested by this event.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionConsume"> + <rdfs:label>triggers event action consume</rdfs:label> + <rdfs:comment>A relationship between a load control event and the consume action triggered by this event</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionProduce"> + <rdfs:label>triggers event action produce</rdfs:label> + <rdfs:comment>A relationship between a load control event and the produce action triggered by this event</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergy"> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>has energy</rdfs:label> + <rdfs:comment>A relationship between a power sequence and its energy (in terms of value and unit of measure)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"> + <rdfs:label>belongs to</rdfs:label> + <rdfs:comment>A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device. </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionConsume"> + <rdfs:label>has applied event action consume</rdfs:label> + <rdfs:comment>A relationship between the state of a load control event consume and the action to be performed as a consequence of this event.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#receives"> + <rdfs:label>receives</rdfs:label> + <rdfs:comment>A relationship between a device (e.g., an appliance or a smart meter) and a load control event</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergyValueType"> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"/> + </rdfs:subPropertyOf> + <rdfs:label>has energy value type</rdfs:label> + <rdfs:comment>A relationship representing an energy value type</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateProduce"> + <rdfs:subPropertyOf rdf:resource="https://w3id.org/saref#hasState"/> + <rdfs:label>has event state produce</rdfs:label> + <rdfs:comment>A relationship between the specification of the state of a load control event produce and the value that this state can assume.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"> + <rdfs:label>has value type</rdfs:label> + <rdfs:comment>A relation representing the value type of an entity</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#exposes"> + <rdfs:label>exposes</rdfs:label> + <rdfs:comment>A relationship between a device and its power profile</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsReselection"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>supports reselection</rdfs:label> + <rdfs:comment>If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#brandName"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>brand name</rdfs:label> + <rdfs:comment>Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#eventID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>event ID</rdfs:label> + <rdfs:comment>Used in the Demand Response use case to identify an event</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#repetitionsTotal"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>repetition total</rdfs:label> + <rdfs:comment>Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceCode"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>device code</rdfs:label> + <rdfs:comment>Provides a device code for the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#optionalSlot"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>optional slot</rdfs:label> + <rdfs:comment>Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorCode"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>vendor code</rdfs:label> + <rdfs:comment>Provides a code for the vendor of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsSingleSlotSchedulingOnly"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>supports single slot scheduling only</rdfs:label> + <rdfs:comment>If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceName"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>device name</rdfs:label> + <rdfs:comment>Provides the name of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerNodeIdentification"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>manufacturer node identification</rdfs:label> + <rdfs:comment>Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>slot number</rdfs:label> + <rdfs:comment>Provides a unique slot identifier for a certain power sequence</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeSlotNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>active slot number</rdfs:label> + <rdfs:comment>Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isPausable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>is pausable</rdfs:label> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#nodeRemoteControllable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>node remote controllable</rdfs:label> + <rdfs:comment>Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#messagingType"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>obsolete</rdf:first> + </rdf:rest> + <rdf:first>emergency</rdf:first> + </rdf:rest> + <rdf:first>alarm</rdf:first> + </rdf:rest> + <rdf:first>warning</rdf:first> + </rdf:rest> + <rdf:first>information</rdf:first> + </rdf:rest> + <rdf:first>logging</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>messaging type</rdfs:label> + <rdfs:comment>Indicates the type of the message. Possible values are:
 +- logging (used for messages, that shall be stored in a log file)
 +- information (messages, that shall be presented to the customer on a display; lower priority)
 +- warning (messages, that shall be presented to the customer on a display; medium priority)
 +- alarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm)
 +- emergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done)
 +- obsolete (previously sent messages, that shall be marked as obsolete)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#serialNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>serial number</rdfs:label> + <rdfs:comment>Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#cheapest"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>cheapest</rdfs:label> + <rdfs:comment>Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerLabel"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>manufacturer label</rdfs:label> + <rdfs:comment>A short label of the device as defined by the manufacturer. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#valueSource"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>empiricalValue</rdf:first> + </rdf:rest> + <rdf:first>calculatedValue</rdf:first> + </rdf:rest> + <rdf:first>measuredValue</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>value source</rdfs:label> + <rdfs:comment>Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#greenest"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>greenest</rdfs:label> + <rdfs:comment>Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isStoppable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>is stoppable</rdfs:label> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesGroupID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <rdfs:label>alternatives group ID</rdfs:label> + <rdfs:comment>The endpoint-wide unique identifier for the alternatives group instances provided by a power profile</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#totalSequencesCountMax"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>total sequences count max</rdfs:label> + <rdfs:comment>Represents the total number of power sequences supported by the power profile of a device</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activateSlot"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>activate slot</rdfs:label> + <rdfs:comment>Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory).</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>sequence ID</rdfs:label> + <rdfs:comment>Provides a unique power sequence identifier for a certain device</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerDescription"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>manufacturer description</rdfs:label> + <rdfs:comment>A description for the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesCount"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <rdfs:label>alternatives count</rdfs:label> + <rdfs:comment>Indicates the number of alternatives groups provided by a power profile</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeRepetitionNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>active repetition number</rdfs:label> + <rdfs:comment>Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#messagingNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>messaging number</rdfs:label> + <rdfs:comment>An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#powerSource"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>dc</rdf:first> + </rdf:rest> + <rdf:first>battery</rdf:first> + </rdf:rest> + <rdf:first>mains3Phase</rdf:first> + </rdf:rest> + <rdf:first>mainsSinglePhase</rdf:first> + </rdf:rest> + <rdf:first>unknown</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>power source</rdfs:label> + <rdfs:comment>Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#measurementID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>measurement id</rdfs:label> + <rdfs:comment>Enables the identification of different sensors on one EEBus address.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#valueTendency"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>falling</rdf:first> + </rdf:rest> + <rdf:first>stable</rdf:first> + </rdf:rest> + <rdf:first>rising</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>value tendency</rdfs:label> + <rdfs:comment>Indicates whether the tendency of a measurement is rising, stable or falling.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotActivated"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>slot activated</rdfs:label> + <rdfs:comment>If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#maxCyclesPerDay"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>max cycles per day</rdfs:label> + <rdfs:comment>States the maximum amount of starts a power sequence (of a device) allows per day.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#xsdDuration"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#duration"/> + <rdfs:label>duration in xsd </rdfs:label> + <rdfs:comment>This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model:
 +- the startTime of the power sequence (in the PowerSequence class). SHALL be present
 +- the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.
 +- the startTime of measurement as absolute or relative value (in the Measurement class).
 +- the endTime of measurement as absolute or relative value (in the Measurement class).</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#hardwareRevision"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>hardware revision </rdfs:label> + <rdfs:comment>Indicates the hardware revision of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#softwareRevision"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>software revision</rdfs:label> + <rdfs:comment>Indicates the software revision of a device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorName"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>vendor name</rdfs:label> + <rdfs:comment>Provides the name of the vendor of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceRemoteControllable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>sequence remote controllable</rdfs:label> + <rdfs:comment>Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#taskIdentifier"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>task identifier</rdfs:label> + </owl:DatatypeProperty> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#reduce"> + <rdfs:label>reduce</rdfs:label> + <rdfs:comment>Load control event action with value 'reduce'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventError"> + <rdfs:label>event error</rdfs:label> + <rdfs:comment>Load control state with value 'event error'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#increase"> + <rdfs:label>increase</rdfs:label> + <rdfs:comment>Load control event action with value 'increase'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#scheduled"> + <rdfs:label>scheduled</rdfs:label> + <rdfs:comment>Power sequence state with value 'scheduled'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#pause"> + <rdfs:label>pause</rdfs:label> + <rdfs:comment>Load control event action with value 'pause'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#paused"> + <rdfs:label>paused</rdfs:label> + <rdfs:comment>Power sequence state or sensor state with value 'paused'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#emergency"> + <rdfs:label>emergency</rdfs:label> + <rdfs:comment>Load control event action with value 'emergency'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#resume"> + <rdfs:label>resume</rdfs:label> + <rdfs:comment>Load control event action with value 'resume'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#inactive"> + <rdfs:label>inactive</rdfs:label> + <rdfs:comment>Power sequence state with value 'inactive'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#invalid"> + <rdfs:label>invalid</rdfs:label> + <rdfs:comment>Power sequence state with value 'invalid'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#running"> + <rdfs:label>running</rdfs:label> + <rdfs:comment>Power sequence state with value 'running'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventCancelled"> + <rdfs:label>event cancelled</rdfs:label> + <rdfs:comment>Load control state with value 'event cancelled'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#scheduledPaused"> + <rdfs:label>scheduled paused</rdfs:label> + <rdfs:comment>Power sequence state with value 'scheduled paused'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#normal"> + <rdfs:label>normal</rdfs:label> + <rdfs:comment>The value NORMAL used to instantiate the Load Control Event Action class and MeasurandState class</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventStopped"> + <rdfs:label>event stopped</rdfs:label> + <rdfs:comment>Load control state with value 'event stopped'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventAccepted"> + <rdfs:label>event accepted</rdfs:label> + <rdfs:comment>Load control state with value 'event accepted'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#completed"> + <rdfs:label>completed</rdfs:label> + <rdfs:comment>Power sequence state with value 'completed'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#pending"> + <rdfs:label>pending</rdfs:label> + <rdfs:comment>Power sequence state with value 'pending'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventRejected"> + <rdfs:label>event rejected</rdfs:label> + <rdfs:comment>Load control state with value 'event rejected'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventStarted"> + <rdfs:label>event started</rdfs:label> + <rdfs:comment>Load control state with value 'event started'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.ttl b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.ttl new file mode 100644 index 0000000000000000000000000000000000000000..8a8e0551a193f06fc6d08b662212e3f593f3f9c8 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/latest/saref4ener.ttl @@ -0,0 +1,1551 @@ +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix s4ener: <https://saref.etsi.org/saref4ener#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +<http://www.w3.org/2006/time#DurationDescription> + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:xsdDuration ; + ] ; +. +<https://saref.etsi.org/saref4ener#> rdf:type owl:Ontology ; + dcterms:title "SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations"^^xsd:string ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4ener/v1.1.1/saref4ener#> ; + dcterms:created "2015-09-04"^^xsd:date ; + dcterms:modified "2016-12-13"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4ener#" ; + vann:preferredNamespacePrefix "s4ener" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341001/01.01.01_60/ts_10341001v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4ener/> ; + dcterms:description "SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1)."^^xsd:string ; + owl:imports <https://saref.etsi.org/saref/v2.1.1/saref#> ; + dcterms:publisher <https://www.etsi.org/> . + + +s4ener:ActivationDelay + rdf:type owl:Class ; + rdfs:comment "The scheduled activation delay for a slot."^^xsd:string ; + rdfs:label "Activation delay"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActivationDelayDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the activation delay duration temporal entity"^^xsd:string ; + rdfs:label "Activation delay duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:ActiveDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the active duration (min and max, sum max and sum min) temporal entities"^^xsd:string ; + rdfs:label "Active duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:ActiveDurationMax + rdf:type owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run without interruption."^^xsd:string ; + rdfs:label "Active duration max"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActiveDurationMin + rdf:type owl:Class ; + rdfs:comment "The active mininum duration a power sequence can run without interruption."^^xsd:string ; + rdfs:label "Active duration min"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActiveDurationSumMax + rdf:type owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run in total (summation of all active times)."^^xsd:string ; + rdfs:label "Active duration sum max"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActiveDurationSumMin + rdf:type owl:Class ; + rdfs:comment "The active minimum duration a power sequence must run in total (summation of all active times)."^^xsd:string ; + rdfs:label "Active duration sum min"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActuatorLevel + rdf:type owl:Class ; + rdfs:comment "Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc."^^xsd:string ; + rdfs:label "Actuator level"^^xsd:string ; + rdfs:subClassOf saref:Actuator ; +. +s4ener:ActuatorSwitch + rdf:type owl:Class ; + rdfs:comment "Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off."^^xsd:string ; + rdfs:label "Actuator switch"^^xsd:string ; + rdfs:subClassOf saref:Actuator ; +. +s4ener:AlternativesGroup + rdf:type owl:Class ; + rdfs:comment "A collection of power sequences for a certain profile"^^xsd:string ; + rdfs:label "Alternatives group"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:alternativesGroupID ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:AnticipationDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the anticipation duration temporal entities"^^xsd:string ; + rdfs:label "Anticipation duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:DefaultDuration + rdf:type owl:Class ; + rdfs:comment "The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght"^^xsd:string ; + rdfs:label "Default duration"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:DefaultDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the default duration temporal entity"^^xsd:string ; + rdfs:label "Default duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:Device + rdf:type owl:Class ; + rdfs:comment "A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)"^^xsd:string ; + rdfs:label "Device"^^xsd:string ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:exposes ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:brandName ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceCode ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceName ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:hardwareRevision ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerDescription ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerLabel ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerNodeIdentification ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:serialNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:softwareRevision ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorCode ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorName ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:powerSource ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:exposes ; + ] ; +. +s4ener:DurationUncertainty + rdf:type owl:Class ; + rdfs:comment "The uncertainty of the duration "^^xsd:string ; + rdfs:label "Duration uncertainty"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:DurationUncertaintyDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the duration uncertainty temporal entity"^^xsd:string ; + rdfs:label "Duration uncertainty description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:EarliestStartTime + rdf:type owl:Class ; + rdfs:comment """The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0. +Note: This element applies to the first repetition of the slot number only."""^^xsd:string ; + rdfs:label "Earliest start time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ElapsedSlotTime + rdf:type owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "Elapsed slot time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:EndTime + rdf:type owl:Class ; + rdfs:comment """The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted. +The end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration."""^^xsd:string ; + rdfs:label "End time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:EndTimeDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the end time duration temporal entities"^^xsd:string ; + rdfs:label "End time duration Description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:Energy + rdf:type owl:Class ; + rdfs:comment "Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)"^^xsd:string ; + rdfs:label "Energy"^^xsd:string ; + rdfs:subClassOf saref:Energy ; +. +s4ener:EnergyExpected + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the expected energy consumption and its value"^^xsd:string ; + rdfs:label "Energy expected"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergyMax + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the maximum energy consumption and its value"^^xsd:string ; + rdfs:label "Energy max"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergyMin + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the minimum energy consumption and its value"^^xsd:string ; + rdfs:label "Energy min"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergySkewness + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy skewness and its value"^^xsd:string ; + rdfs:label "Energy skewness"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergyStandardDeviation + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy standard deviation and its value"^^xsd:string ; + rdfs:label "Energy Standard Deviation"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EventActionConsume + rdf:type owl:Class ; + rdfs:label "Event action consume"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( + "s4ener:pause"^^xsd:string + "s4ener:resume"^^xsd:string + "s4ener:reduce"^^xsd:string + "s4ener:increase"^^xsd:string + "s4ener:emergency"^^xsd:string + "s4ener:normal"^^xsd:string + ) ; +. +s4ener:EventActionProduce + rdf:type owl:Class ; + rdfs:label "Event action produce"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( + "s4ener:pause"^^xsd:string + "s4ener:resume"^^xsd:string + "s4ener:reduce"^^xsd:string + "s4ener:increase"^^xsd:string + "s4ener:emergency"^^xsd:string + "s4ener:normal"^^xsd:string + ) ; +. +s4ener:EventStateConsume + rdf:type owl:Class ; + rdfs:label "Event state consume"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( + "s4ener:eventAccepted"^^xsd:string + "s4ener:eventStarted"^^xsd:string + "s4ener:eventStopped"^^xsd:string + "s4ener:eventRejected"^^xsd:string + "s4ener:eventCancelled"^^xsd:string + "s4ener:eventError"^^xsd:string + ) ; +. +s4ener:EventStateProduce + rdf:type owl:Class ; + rdfs:label "Event state produce"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( + "s4ener:eventAccepted"^^xsd:string + "s4ener:eventStarted"^^xsd:string + "s4ener:eventStopped"^^xsd:string + "s4ener:eventRejected"^^xsd:string + "s4ener:eventCancelled"^^xsd:string + "s4ener:eventError"^^xsd:string + ) ; +. +s4ener:LatestEndTime + rdf:type owl:Class ; + rdfs:comment """The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0. +Note: This element applies to the first repetition of the slot number only."""^^xsd:string ; + rdfs:label "Latest end time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:LoadControlEventAction + rdf:type owl:Class ; + rdfs:comment "An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load Control event action"^^xsd:string ; +. +s4ener:LoadControlEventData + rdf:type owl:Class ; + rdfs:comment "An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load control event data"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:hasDevice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:TimePeriod ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:eventID ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:hasDevice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:TimePeriod ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; +. +s4ener:LoadControlEventState + rdf:type owl:Class ; + rdfs:comment "In the load control, it expresses the possible states of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load control event state "^^xsd:string ; + rdfs:subClassOf s4ener:State ; +. +s4ener:LoadControlStateData + rdf:type owl:Class ; + rdfs:comment "The representation of the state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load control state data"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:eventID ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; +. +s4ener:MaxActivationDelay + rdf:type owl:Class ; + rdfs:comment "Maximum delay time between the end of the previous slot and the beginning of the current slot."^^xsd:string ; + rdfs:label "Max activation delay"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:MaxAnticipation + rdf:type owl:Class ; + rdfs:comment "This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute."^^xsd:string ; + rdfs:label "Max anticipation"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:MaxDuration + rdf:type owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only"^^xsd:string ; + rdfs:label "Max duration"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:MinDuration + rdf:type owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only."^^xsd:string ; + rdfs:label "Min duration"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:PauseDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the pause duration (max and min) temporal entities"^^xsd:string ; + rdfs:label "Pause duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:PauseDurationMax + rdf:type owl:Class ; + rdfs:comment "The maximum duration a power sequence can pause after the end of an activity."^^xsd:string ; + rdfs:label "Pause duration max"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:PauseDurationMin + rdf:type owl:Class ; + rdfs:comment "The minimum duration a power sequence can pause after the end of an activity."^^xsd:string ; + rdfs:label "Pause duration min"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:PauseTime + rdf:type owl:Class ; + rdfs:comment "The pause time of a power sequence or a slot"^^xsd:string ; + rdfs:label "Pause time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:Power + rdf:type owl:Class ; + rdfs:comment "Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)"^^xsd:string ; + rdfs:label "Power"^^xsd:string ; + rdfs:subClassOf saref:Power ; +. +s4ener:PowerExpected + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the expected power consumption and its value"^^xsd:string ; + rdfs:label "Power expected "^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerMax + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the maximum power consumption and its value"^^xsd:string ; + rdfs:label "Power max"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerMin + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the minimum power consumption and its value"^^xsd:string ; + rdfs:label "Power min"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerProfile + rdf:type owl:Class ; + rdfs:comment "A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client). "^^xsd:string ; + rdfs:label "Power profile"^^xsd:string ; + rdfs:subClassOf saref:Profile ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:alternativesCount ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:nodeRemoteControllable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsReselection ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsSingleSlotSchedulingOnly ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:totalSequencesCountMax ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:PowerSequence + rdf:type owl:Class ; + rdfs:comment "The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "Power sequence"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequenceState ; + owl:onProperty saref:hasState ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Slot ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceID ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceRemoteControllable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeRepetitionNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeSlotNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:cheapest ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:greenest ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isPausable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isStoppable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:maxCyclesPerDay ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:repetitionsTotal ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMax ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMin ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMax ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMin ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ElapsedSlotTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMax ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMin ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingSlotTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:taskIdentifier ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:valueSource ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequenceState ; + owl:onProperty saref:hasState ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Slot ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:PowerSequenceState + rdf:type owl:Class ; + rdfs:comment "The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'."^^xsd:string ; + rdfs:label "Power sequence state"^^xsd:string ; + rdfs:subClassOf s4ener:State ; + owl:oneOf ( + "s4ener:running"^^xsd:string + "s4ener:paused"^^xsd:string + "s4ener:scheduled"^^xsd:string + "s4ener:scheduledPaused"^^xsd:string + "s4ener:pending"^^xsd:string + "s4ener:inactive"^^xsd:string + "s4ener:completed"^^xsd:string + "s4ener:invalid"^^xsd:string + ) ; +. +s4ener:PowerSkewness + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power skewness and its value"^^xsd:string ; + rdfs:label "Power skewness"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerStandardDeviation + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power standard deviation and its value"^^xsd:string ; + rdfs:label "Power standard deviation"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:RemainingPauseTime + rdf:type owl:Class ; + rdfs:comment "The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused."^^xsd:string ; + rdfs:label "Remaining pause time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:RemainingSlotTime + rdf:type owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "Remaining slot time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ResumeCostEstimated + rdf:type owl:Class ; + rdfs:comment "In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause)."^^xsd:string ; + rdfs:label "Resume cost estimated"^^xsd:string ; + rdfs:subClassOf saref:Price ; +. +s4ener:ResumeEnergyEstimated + rdf:type owl:Class ; + rdfs:comment "In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information."^^xsd:string ; + rdfs:label "Resume energy estimated"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:Slot + rdf:type owl:Class ; + rdfs:comment "The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID. "^^xsd:string ; + rdfs:label "Slot"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom saref:Time ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Energy ; + owl:onProperty s4ener:hasEnergyValueType ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Power ; + owl:onProperty s4ener:hasPowerValueType ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:optionalSlot ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotActivated ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DefaultDuration ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DurationUncertainty ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MaxDuration ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MinDuration ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingPauseTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass [ + rdf:type owl:Class ; + owl:unionOf ( + s4ener:Energy + s4ener:Power + ) ; + ] ; + owl:onProperty s4ener:hasValueType ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:SlotTimeDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the slot time duration temporal entities"^^xsd:string ; + rdfs:label "Slot time duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:StartTime + rdf:type owl:Class ; + rdfs:comment "The startTime of a power sequence or slot. SHALL be present"^^xsd:string ; + rdfs:label "Start time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:StartTimeDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the start time duration temporal entities"^^xsd:string ; + rdfs:label "Start time duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:State + rdf:type owl:Class ; + rdfs:comment "An entity that represents the possible states in SAREF4EE"^^xsd:string ; + rdfs:label "State"^^xsd:string ; + rdfs:subClassOf saref:State ; +. +s4ener:TimePeriod + rdf:type owl:Class ; + rdfs:comment "The time period associated with load control event data"^^xsd:string ; + rdfs:label "Time period"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:TimePeriodDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the time period duration temporal entities"^^xsd:string ; + rdfs:label "Time period duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:activateSlot + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory)."^^xsd:string ; + rdfs:label "activate slot"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:activeRepetitionNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent. "^^xsd:string ; + rdfs:label "active repetition number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:activeSlotNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "active slot number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:alternativesCount + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the number of alternatives groups provided by a power profile"^^xsd:string ; + rdfs:label "alternatives count"^^xsd:string ; + rdfs:range xsd:integer ; +. +s4ener:alternativesGroupID + rdf:type owl:DatatypeProperty ; + rdfs:comment "The endpoint-wide unique identifier for the alternatives group instances provided by a power profile"^^xsd:string ; + rdfs:label "alternatives group ID"^^xsd:string ; + rdfs:range xsd:integer ; +. +s4ener:belongsTo + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device. "^^xsd:string ; + rdfs:label "belongs to"^^xsd:string ; +. +s4ener:brandName + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs."^^xsd:string ; + rdfs:label "brand name"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:cheapest + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. "^^xsd:string ; + rdfs:label "cheapest"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:completed + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'completed'"^^xsd:string ; + rdfs:label "completed"^^xsd:string ; +. +s4ener:deviceCode + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a device code for the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "device code"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:deviceName + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides the name of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "device name"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:emergency + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'emergency'"^^xsd:string ; + rdfs:label "emergency"^^xsd:string ; +. +s4ener:eventAccepted + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event accepted'"^^xsd:string ; + rdfs:label "event accepted"^^xsd:string ; +. +s4ener:eventCancelled + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event cancelled'"^^xsd:string ; + rdfs:label "event cancelled"^^xsd:string ; +. +s4ener:eventError + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event error'"^^xsd:string ; + rdfs:label "event error"^^xsd:string ; +. +s4ener:eventID + rdf:type owl:DatatypeProperty ; + rdfs:comment "Used in the Demand Response use case to identify an event"^^xsd:string ; + rdfs:label "event ID"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:eventRejected + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event rejected'"^^xsd:string ; + rdfs:label "event rejected"^^xsd:string ; +. +s4ener:eventStarted + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event started'"^^xsd:string ; + rdfs:label "event started"^^xsd:string ; +. +s4ener:eventStopped + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event stopped'"^^xsd:string ; + rdfs:label "event stopped"^^xsd:string ; +. +s4ener:exposes + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a device and its power profile"^^xsd:string ; + rdfs:label "exposes"^^xsd:string ; +. +s4ener:greenest + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. "^^xsd:string ; + rdfs:label "greenest"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:hardwareRevision + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the hardware revision of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "hardware revision "^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:hasAppliedEventActionConsume + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event consume and the action to be performed as a consequence of this event."^^xsd:string ; + rdfs:label "has applied event action consume"^^xsd:string ; +. +s4ener:hasAppliedEventActionProduce + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event produce and the action to be performed as a consequence of this event."^^xsd:string ; + rdfs:label "has applied event action produce"^^xsd:string ; +. +s4ener:hasConnection + rdf:type owl:ObjectProperty ; + rdfs:comment "In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time."^^xsd:string ; + rdfs:label "has connection"^^xsd:string ; +. +s4ener:hasDevice + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event (used to send overload warning severity level and related load control commands) and the device interested by this event."^^xsd:string ; + rdfs:label "has device"^^xsd:string ; +. +s4ener:hasEnergy + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a power sequence and its energy (in terms of value and unit of measure)"^^xsd:string ; + rdfs:label "has energy"^^xsd:string ; + rdfs:range s4ener:Energy ; +. +s4ener:hasEnergyValueType + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship representing an energy value type"^^xsd:string ; + rdfs:label "has energy value type"^^xsd:string ; + rdfs:subPropertyOf s4ener:hasValueType ; +. +s4ener:hasEventStateConsume + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event consume and the value that this state can assume."^^xsd:string ; + rdfs:label "has event state consume"^^xsd:string ; + rdfs:subPropertyOf saref:hasState ; +. +s4ener:hasEventStateProduce + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event produce and the value that this state can assume."^^xsd:string ; + rdfs:label "has event state produce"^^xsd:string ; + rdfs:subPropertyOf saref:hasState ; +. +s4ener:hasExpression + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between an appliance parameter compatibility action and the associated expressions"^^xsd:string ; + rdfs:label "has expression"^^xsd:string ; +. +s4ener:hasFunction + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the functions performed by an actuator level and an actuator switch"^^xsd:string ; + rdfs:label "has function"^^xsd:string ; +. +s4ener:hasPowerValueType + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship representing a power value type"^^xsd:string ; + rdfs:label "has power value type"^^xsd:string ; + rdfs:subPropertyOf s4ener:hasValueType ; +. +s4ener:hasValueType + rdf:type owl:ObjectProperty ; + rdfs:comment "A relation representing the value type of an entity"^^xsd:string ; + rdfs:label "has value type"^^xsd:string ; +. +s4ener:inactive + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'inactive'"^^xsd:string ; + rdfs:label "inactive"^^xsd:string ; +. +s4ener:increase + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'increase'"^^xsd:string ; + rdfs:label "increase"^^xsd:string ; +. +s4ener:invalid + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'invalid'"^^xsd:string ; + rdfs:label "invalid"^^xsd:string ; +. +s4ener:isPausable + rdf:type owl:DatatypeProperty ; + rdfs:label "is pausable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:isStoppable + rdf:type owl:DatatypeProperty ; + rdfs:label "is stoppable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:manufacturerDescription + rdf:type owl:DatatypeProperty ; + rdfs:comment "A description for the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "manufacturer description"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:manufacturerLabel + rdf:type owl:DatatypeProperty ; + rdfs:comment "A short label of the device as defined by the manufacturer. "^^xsd:string ; + rdfs:label "manufacturer label"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:manufacturerNodeIdentification + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address."^^xsd:string ; + rdfs:label "manufacturer node identification"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:maxCyclesPerDay + rdf:type owl:DatatypeProperty ; + rdfs:comment "States the maximum amount of starts a power sequence (of a device) allows per day."^^xsd:string ; + rdfs:label "max cycles per day"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:measurementID + rdf:type owl:DatatypeProperty ; + rdfs:comment "Enables the identification of different sensors on one EEBus address."^^xsd:string ; + rdfs:label "measurement id"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:messagingNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message."^^xsd:string ; + rdfs:label "messaging number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:messagingType + rdf:type owl:DatatypeProperty ; + rdfs:comment """Indicates the type of the message. Possible values are: +- logging (used for messages, that shall be stored in a log file) +- information (messages, that shall be presented to the customer on a display; lower priority) +- warning (messages, that shall be presented to the customer on a display; medium priority) +- alarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm) +- emergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done) +- obsolete (previously sent messages, that shall be marked as obsolete)"""^^xsd:string ; + rdfs:label "messaging type"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "logging"^^xsd:string + "information"^^xsd:string + "warning"^^xsd:string + "alarm"^^xsd:string + "emergency"^^xsd:string + "obsolete"^^xsd:string + ) ; + ] ; +. +s4ener:nodeRemoteControllable + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE."^^xsd:string ; + rdfs:label "node remote controllable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:normal + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "The value NORMAL used to instantiate the Load Control Event Action class and MeasurandState class"^^xsd:string ; + rdfs:label "normal"^^xsd:string ; +. +s4ener:optionalSlot + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number."^^xsd:string ; + rdfs:label "optional slot"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:pause + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'pause'"^^xsd:string ; + rdfs:label "pause"^^xsd:string ; +. +s4ener:paused + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state or sensor state with value 'paused'"^^xsd:string ; + rdfs:label "paused"^^xsd:string ; +. +s4ener:pending + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'pending'"^^xsd:string ; + rdfs:label "pending"^^xsd:string ; +. +s4ener:powerSource + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery "^^xsd:string ; + rdfs:label "power source"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "unknown"^^xsd:string + "mainsSinglePhase"^^xsd:string + "mains3Phase"^^xsd:string + "battery"^^xsd:string + "dc"^^xsd:string + ) ; + ] ; +. +s4ener:receives + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a device (e.g., an appliance or a smart meter) and a load control event"^^xsd:string ; + rdfs:label "receives"^^xsd:string ; +. +s4ener:reduce + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'reduce'"^^xsd:string ; + rdfs:label "reduce"^^xsd:string ; +. +s4ener:repetitionsTotal + rdf:type owl:DatatypeProperty ; + rdfs:comment "Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1. "^^xsd:string ; + rdfs:label "repetition total"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:resume + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'resume'"^^xsd:string ; + rdfs:label "resume"^^xsd:string ; +. +s4ener:running + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'running'"^^xsd:string ; + rdfs:label "running"^^xsd:string ; +. +s4ener:scheduled + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'scheduled'"^^xsd:string ; + rdfs:label "scheduled"^^xsd:string ; +. +s4ener:scheduledPaused + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'scheduled paused'"^^xsd:string ; + rdfs:label "scheduled paused"^^xsd:string ; +. +s4ener:sequenceID + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a unique power sequence identifier for a certain device"^^xsd:string ; + rdfs:label "sequence ID"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:sequenceRemoteControllable + rdf:type owl:DatatypeProperty ; + rdfs:comment "Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state."^^xsd:string ; + rdfs:label "sequence remote controllable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:serialNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case."^^xsd:string ; + rdfs:label "serial number"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:slotActivated + rdf:type owl:DatatypeProperty ; + rdfs:comment "If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent."^^xsd:string ; + rdfs:label "slot activated"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:slotNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a unique slot identifier for a certain power sequence"^^xsd:string ; + rdfs:label "slot number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:softwareRevision + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the software revision of a device as defined by the manufacturer."^^xsd:string ; + rdfs:label "software revision"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:supportsReselection + rdf:type owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once."^^xsd:string ; + rdfs:label "supports reselection"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:supportsSingleSlotSchedulingOnly + rdf:type owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command."^^xsd:string ; + rdfs:label "supports single slot scheduling only"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:taskIdentifier + rdf:type owl:DatatypeProperty ; + rdfs:label "task identifier"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:totalSequencesCountMax + rdf:type owl:DatatypeProperty ; + rdfs:comment "Represents the total number of power sequences supported by the power profile of a device"^^xsd:string ; + rdfs:label "total sequences count max"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:triggersEventActionConsume + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the consume action triggered by this event"^^xsd:string ; + rdfs:label "triggers event action consume"^^xsd:string ; +. +s4ener:triggersEventActionProduce + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the produce action triggered by this event"^^xsd:string ; + rdfs:label "triggers event action produce"^^xsd:string ; +. +s4ener:valueSource + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast."^^xsd:string ; + rdfs:label "value source"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "measuredValue"^^xsd:string + "calculatedValue"^^xsd:string + "empiricalValue"^^xsd:string + ) ; + ] ; +. +s4ener:valueTendency + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether the tendency of a measurement is rising, stable or falling."^^xsd:string ; + rdfs:label "value tendency"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "rising"^^xsd:string + "stable"^^xsd:string + "falling"^^xsd:string + ) ; + ] ; +. +s4ener:vendorCode + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a code for the vendor of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "vendor code"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:vendorName + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides the name of the vendor of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "vendor name"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:xsdDuration + rdf:type owl:DatatypeProperty ; + rdfs:comment """This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model: +- the startTime of the power sequence (in the PowerSequence class). SHALL be present +- the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted. +- the startTime of measurement as absolute or relative value (in the Measurement class). +- the endTime of measurement as absolute or relative value (in the Measurement class)."""^^xsd:string ; + rdfs:label "duration in xsd "^^xsd:string ; + rdfs:range xsd:duration ; +. +[ + rdf:type owl:Class ; + owl:unionOf ( + xsd:int + xsd:double + ) ; +]. +[ + rdf:type owl:Class ; + owl:unionOf ( + xsd:int + xsd:double + ) ; +]. diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.html b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.html new file mode 100644 index 0000000000000000000000000000000000000000..d5c27393c9619fca4f1105620cb34ae717763339 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations</h1> + <p><strong>Official ETSI documentation for SAREF4ENER v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4ENER ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4ENER v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4ener.ttl">Turtle</a> or <a href="./saref4ener.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4ener#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1).</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.n3 b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.n3 new file mode 100644 index 0000000000000000000000000000000000000000..7cdc6a9363185fbb6276a84d6b9dd31faf86b444 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.n3 @@ -0,0 +1,1254 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix s4ener: <https://saref.etsi.org/saref4ener#> . + +s4ener:eventAccepted a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event accepted'" ; + rdfs:label "event accepted" . + +s4ener:PauseDurationMin + a owl:Class ; + rdfs:comment "The minimum duration a power sequence can pause after the end of an activity." ; + rdfs:label "Pause duration min" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:created "2015-09-04"^^xsd:date ; + dcterms:description "SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1)." ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2016-12-13"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341001/01.01.01_60/ts_10341001v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4ener/> ; + dcterms:title "SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations" ; + vann:preferredNamespacePrefix "s4ener" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4ener#" ; + owl:imports <https://saref.etsi.org/saref/v2.1.1/saref#> ; + owl:versionIRI <https://saref.etsi.org/saref4ener/v1.1.1/saref4ener#> ; + owl:versionInfo "1.1.1" . + +s4ener:activateSlot a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory)." ; + rdfs:label "activate slot" ; + rdfs:range xsd:boolean . + +s4ener:RemainingPauseTime + a owl:Class ; + rdfs:comment "The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused." ; + rdfs:label "Remaining pause time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:pending a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'pending'" ; + rdfs:label "pending" . + +s4ener:greenest a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. " ; + rdfs:label "greenest" ; + rdfs:range xsd:boolean . + +s4ener:manufacturerLabel + a owl:DatatypeProperty ; + rdfs:comment "A short label of the device as defined by the manufacturer. " ; + rdfs:label "manufacturer label" ; + rdfs:range xsd:string . + +s4ener:softwareRevision + a owl:DatatypeProperty ; + rdfs:comment "Indicates the software revision of a device as defined by the manufacturer." ; + rdfs:label "software revision" ; + rdfs:range xsd:string . + +s4ener:EventStateProduce + a owl:Class ; + rdfs:label "Event state produce" ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( "s4ener:eventAccepted" "s4ener:eventStarted" "s4ener:eventStopped" "s4ener:eventRejected" "s4ener:eventCancelled" "s4ener:eventError" ) . + +s4ener:cheapest a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. " ; + rdfs:label "cheapest" ; + rdfs:range xsd:boolean . + +s4ener:PauseDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the pause duration (max and min) temporal entities" ; + rdfs:label "Pause duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:ActuatorLevel a owl:Class ; + rdfs:comment "Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc." ; + rdfs:label "Actuator level" ; + rdfs:subClassOf saref:Actuator . + +s4ener:powerSource a owl:DatatypeProperty ; + rdfs:comment "Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery " ; + rdfs:label "power source" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "unknown" "mainsSinglePhase" "mains3Phase" "battery" "dc" ) + ] . + +s4ener:maxCyclesPerDay + a owl:DatatypeProperty ; + rdfs:comment "States the maximum amount of starts a power sequence (of a device) allows per day." ; + rdfs:label "max cycles per day" ; + rdfs:range xsd:unsignedInt . + +s4ener:DurationUncertaintyDescription + a owl:Class ; + rdfs:comment "The duration description for the duration uncertainty temporal entity" ; + rdfs:label "Duration uncertainty description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:TimePeriodDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the time period duration temporal entities" ; + rdfs:label "Time period duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:hasValueType a owl:ObjectProperty ; + rdfs:comment "A relation representing the value type of an entity" ; + rdfs:label "has value type" . + +s4ener:increase a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'increase'" ; + rdfs:label "increase" . + +s4ener:supportsReselection + a owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once." ; + rdfs:label "supports reselection" ; + rdfs:range xsd:boolean . + +s4ener:PowerSkewness a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power skewness and its value" ; + rdfs:label "Power skewness" ; + rdfs:subClassOf s4ener:Power . + +s4ener:EndTime a owl:Class ; + rdfs:comment "The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.\r\nThe end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration." ; + rdfs:label "End time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PauseTime a owl:Class ; + rdfs:comment "The pause time of a power sequence or a slot" ; + rdfs:label "Pause time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:brandName a owl:DatatypeProperty ; + rdfs:comment "Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs." ; + rdfs:label "brand name" ; + rdfs:range xsd:string . + +s4ener:PowerStandardDeviation + a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power standard deviation and its value" ; + rdfs:label "Power standard deviation" ; + rdfs:subClassOf s4ener:Power . + +s4ener:EarliestStartTime + a owl:Class ; + rdfs:comment "The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.\r\nNote: This element applies to the first repetition of the slot number only." ; + rdfs:label "Earliest start time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:LoadControlStateData + a owl:Class ; + rdfs:comment "The representation of the state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load control state data" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:eventID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce + ] . + +s4ener:normal a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "The value NORMAL used to instantiate the Load Control Event Action class and MeasurandState class" ; + rdfs:label "normal" . + +s4ener:State a owl:Class ; + rdfs:comment "An entity that represents the possible states in SAREF4EE" ; + rdfs:label "State" ; + rdfs:subClassOf saref:State . + +s4ener:ActivationDelay + a owl:Class ; + rdfs:comment "The scheduled activation delay for a slot." ; + rdfs:label "Activation delay" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:hasEnergyValueType + a owl:ObjectProperty ; + rdfs:comment "A relationship representing an energy value type" ; + rdfs:label "has energy value type" ; + rdfs:subPropertyOf s4ener:hasValueType . + +s4ener:hasEnergy a owl:ObjectProperty ; + rdfs:comment "A relationship between a power sequence and its energy (in terms of value and unit of measure)" ; + rdfs:label "has energy" ; + rdfs:range s4ener:Energy . + +s4ener:resume a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'resume'" ; + rdfs:label "resume" . + +s4ener:taskIdentifier + a owl:DatatypeProperty ; + rdfs:label "task identifier" ; + rdfs:range xsd:unsignedInt . + +s4ener:ActiveDurationMax + a owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run without interruption." ; + rdfs:label "Active duration max" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:receives a owl:ObjectProperty ; + rdfs:comment "A relationship between a device (e.g., an appliance or a smart meter) and a load control event" ; + rdfs:label "receives" . + +s4ener:LoadControlEventAction + a owl:Class ; + rdfs:comment "An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load Control event action" . + +s4ener:inactive a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'inactive'" ; + rdfs:label "inactive" . + +s4ener:eventStarted a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event started'" ; + rdfs:label "event started" . + +s4ener:eventRejected a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event rejected'" ; + rdfs:label "event rejected" . + +s4ener:manufacturerNodeIdentification + a owl:DatatypeProperty ; + rdfs:comment "Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address." ; + rdfs:label "manufacturer node identification" ; + rdfs:range xsd:string . + +s4ener:sequenceID a owl:DatatypeProperty ; + rdfs:comment "Provides a unique power sequence identifier for a certain device" ; + rdfs:label "sequence ID" ; + rdfs:range xsd:unsignedInt . + +s4ener:ActiveDurationSumMin + a owl:Class ; + rdfs:comment "The active minimum duration a power sequence must run in total (summation of all active times)." ; + rdfs:label "Active duration sum min" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +[ a owl:Class ; + owl:unionOf ( xsd:int xsd:double ) +] . + +s4ener:EventActionConsume + a owl:Class ; + rdfs:label "Event action consume" ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( "s4ener:pause" "s4ener:resume" "s4ener:reduce" "s4ener:increase" "s4ener:emergency" "s4ener:normal" ) . + +s4ener:eventError a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event error'" ; + rdfs:label "event error" . + +s4ener:Energy a owl:Class ; + rdfs:comment "Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)" ; + rdfs:label "Energy" ; + rdfs:subClassOf saref:Energy . + +s4ener:hasExpression a owl:ObjectProperty ; + rdfs:comment "A relationship between an appliance parameter compatibility action and the associated expressions" ; + rdfs:label "has expression" . + +s4ener:MaxDuration a owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only" ; + rdfs:label "Max duration" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +[ a owl:Class ; + owl:unionOf ( xsd:int xsd:double ) +] . + +s4ener:valueSource a owl:DatatypeProperty ; + rdfs:comment "Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast." ; + rdfs:label "value source" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "measuredValue" "calculatedValue" "empiricalValue" ) + ] . + +s4ener:eventStopped a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event stopped'" ; + rdfs:label "event stopped" . + +s4ener:hasConnection a owl:ObjectProperty ; + rdfs:comment "In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time." ; + rdfs:label "has connection" . + +s4ener:MinDuration a owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only." ; + rdfs:label "Min duration" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:scheduled a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'scheduled'" ; + rdfs:label "scheduled" . + +s4ener:ActuatorSwitch + a owl:Class ; + rdfs:comment "Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off." ; + rdfs:label "Actuator switch" ; + rdfs:subClassOf saref:Actuator . + +s4ener:alternativesGroupID + a owl:DatatypeProperty ; + rdfs:comment "The endpoint-wide unique identifier for the alternatives group instances provided by a power profile" ; + rdfs:label "alternatives group ID" ; + rdfs:range xsd:integer . + +<http://www.w3.org/2006/time#DurationDescription> + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:xsdDuration + ] . + +s4ener:optionalSlot a owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number." ; + rdfs:label "optional slot" ; + rdfs:range xsd:boolean . + +s4ener:RemainingSlotTime + a owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted." ; + rdfs:label "Remaining slot time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerProfile a owl:Class ; + rdfs:comment "A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client). " ; + rdfs:label "Power profile" ; + rdfs:subClassOf saref:Profile ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:belongsTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsSingleSlotSchedulingOnly + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:totalSequencesCountMax + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:alternativesCount + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:nodeRemoteControllable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsReselection + ] . + +s4ener:PowerMax a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the maximum power consumption and its value" ; + rdfs:label "Power max" ; + rdfs:subClassOf s4ener:Power . + +s4ener:manufacturerDescription + a owl:DatatypeProperty ; + rdfs:comment "A description for the device as defined by the manufacturer." ; + rdfs:label "manufacturer description" ; + rdfs:range xsd:string . + +s4ener:MaxActivationDelay + a owl:Class ; + rdfs:comment "Maximum delay time between the end of the previous slot and the beginning of the current slot." ; + rdfs:label "Max activation delay" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:LatestEndTime a owl:Class ; + rdfs:comment "The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.\r\nNote: This element applies to the first repetition of the slot number only." ; + rdfs:label "Latest end time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:EnergyStandardDeviation + a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy standard deviation and its value" ; + rdfs:label "Energy Standard Deviation" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:EnergyMin a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the minimum energy consumption and its value" ; + rdfs:label "Energy min" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:activeRepetitionNumber + a owl:DatatypeProperty ; + rdfs:comment "Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent. " ; + rdfs:label "active repetition number" ; + rdfs:range xsd:unsignedInt . + +s4ener:ActiveDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the active duration (min and max, sum max and sum min) temporal entities" ; + rdfs:label "Active duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:Slot a owl:Class ; + rdfs:comment "The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID. " ; + rdfs:label "Slot" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MaxDuration ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotActivated + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Time ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DurationUncertainty ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Power ; + owl:onProperty s4ener:hasPowerValueType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MinDuration ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DefaultDuration ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Energy ; + owl:onProperty s4ener:hasEnergyValueType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingPauseTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:optionalSlot + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass [ a owl:Class ; + owl:unionOf ( s4ener:Energy s4ener:Power ) + ] ; + owl:onProperty s4ener:hasValueType + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] . + +s4ener:scheduledPaused + a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'scheduled paused'" ; + rdfs:label "scheduled paused" . + +s4ener:EventActionProduce + a owl:Class ; + rdfs:label "Event action produce" ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( "s4ener:pause" "s4ener:resume" "s4ener:reduce" "s4ener:increase" "s4ener:emergency" "s4ener:normal" ) . + +s4ener:LoadControlEventState + a owl:Class ; + rdfs:comment "In the load control, it expresses the possible states of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load control event state " ; + rdfs:subClassOf s4ener:State . + +s4ener:DurationUncertainty + a owl:Class ; + rdfs:comment "The uncertainty of the duration " ; + rdfs:label "Duration uncertainty" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerExpected a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the expected power consumption and its value" ; + rdfs:label "Power expected " ; + rdfs:subClassOf s4ener:Power . + +s4ener:hasPowerValueType + a owl:ObjectProperty ; + rdfs:comment "A relationship representing a power value type" ; + rdfs:label "has power value type" ; + rdfs:subPropertyOf s4ener:hasValueType . + +s4ener:PauseDurationMax + a owl:Class ; + rdfs:comment "The maximum duration a power sequence can pause after the end of an activity." ; + rdfs:label "Pause duration max" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:belongsTo a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device. " ; + rdfs:label "belongs to" . + +s4ener:ActivationDelayDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the activation delay duration temporal entity" ; + rdfs:label "Activation delay duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:StartTimeDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the start time duration temporal entities" ; + rdfs:label "Start time duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:xsdDuration a owl:DatatypeProperty ; + rdfs:comment "This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model:\r\n- the startTime of the power sequence (in the PowerSequence class). SHALL be present\r\n- the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.\r\n- the startTime of measurement as absolute or relative value (in the Measurement class).\r\n- the endTime of measurement as absolute or relative value (in the Measurement class)." ; + rdfs:label "duration in xsd " ; + rdfs:range xsd:duration . + +s4ener:hasDevice a owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event (used to send overload warning severity level and related load control commands) and the device interested by this event." ; + rdfs:label "has device" . + +s4ener:eventID a owl:DatatypeProperty ; + rdfs:comment "Used in the Demand Response use case to identify an event" ; + rdfs:label "event ID" ; + rdfs:range xsd:unsignedInt . + +s4ener:DefaultDuration + a owl:Class ; + rdfs:comment "The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght" ; + rdfs:label "Default duration" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerSequence a owl:Class ; + rdfs:comment "The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted." ; + rdfs:label "Power sequence" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeSlotNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceRemoteControllable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Slot ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:valueSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingSlotTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMax ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMax ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequenceState ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeRepetitionNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Slot ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMax ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isPausable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMin ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMin ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isStoppable + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:maxCyclesPerDay + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequenceState ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ElapsedSlotTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMin ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:greenest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:taskIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:repetitionsTotal + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:cheapest + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo + ] . + +s4ener:EnergyExpected + a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the expected energy consumption and its value" ; + rdfs:label "Energy expected" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:activeSlotNumber + a owl:DatatypeProperty ; + rdfs:comment "Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted." ; + rdfs:label "active slot number" ; + rdfs:range xsd:unsignedInt . + +s4ener:paused a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state or sensor state with value 'paused'" ; + rdfs:label "paused" . + +s4ener:isStoppable a owl:DatatypeProperty ; + rdfs:label "is stoppable" ; + rdfs:range xsd:boolean . + +s4ener:alternativesCount + a owl:DatatypeProperty ; + rdfs:comment "Indicates the number of alternatives groups provided by a power profile" ; + rdfs:label "alternatives count" ; + rdfs:range xsd:integer . + +s4ener:Device a owl:Class ; + rdfs:comment "A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)" ; + rdfs:label "Device" ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:exposes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:exposes + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:serialNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:softwareRevision + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerNodeIdentification + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceCode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:powerSource + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorCode + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:hardwareRevision + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerLabel + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:brandName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives + ] . + +s4ener:DefaultDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the default duration temporal entity" ; + rdfs:label "Default duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:AlternativesGroup + a owl:Class ; + rdfs:comment "A collection of power sequences for a certain profile" ; + rdfs:label "Alternatives group" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:alternativesGroupID ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty saref:consistsOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo + ] . + +s4ener:MaxAnticipation + a owl:Class ; + rdfs:comment "This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute." ; + rdfs:label "Max anticipation" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:LoadControlEventData + a owl:Class ; + rdfs:comment "An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)." ; + rdfs:label "Load control event data" ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:eventID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:hasDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:hasDevice + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4ener:TimePeriod ; + owl:onProperty saref:hasTime + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:TimePeriod ; + owl:onProperty saref:hasTime + ] . + +s4ener:serialNumber a owl:DatatypeProperty ; + rdfs:comment "Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case." ; + rdfs:label "serial number" ; + rdfs:range xsd:string . + +s4ener:ActiveDurationMin + a owl:Class ; + rdfs:comment "The active mininum duration a power sequence can run without interruption." ; + rdfs:label "Active duration min" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:AnticipationDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the anticipation duration temporal entities" ; + rdfs:label "Anticipation duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:nodeRemoteControllable + a owl:DatatypeProperty ; + rdfs:comment "Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE." ; + rdfs:label "node remote controllable" ; + rdfs:range xsd:boolean . + +s4ener:EndTimeDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the end time duration temporal entities" ; + rdfs:label "End time duration Description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:running a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'running'" ; + rdfs:label "running" . + +s4ener:PowerSequenceState + a owl:Class ; + rdfs:comment "The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'." ; + rdfs:label "Power sequence state" ; + rdfs:subClassOf s4ener:State ; + owl:oneOf ( "s4ener:running" "s4ener:paused" "s4ener:scheduled" "s4ener:scheduledPaused" "s4ener:pending" "s4ener:inactive" "s4ener:completed" "s4ener:invalid" ) . + +s4ener:slotActivated a owl:DatatypeProperty ; + rdfs:comment "If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent." ; + rdfs:label "slot activated" ; + rdfs:range xsd:boolean . + +s4ener:ActiveDurationSumMax + a owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run in total (summation of all active times)." ; + rdfs:label "Active duration sum max" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:messagingType a owl:DatatypeProperty ; + rdfs:comment "Indicates the type of the message. Possible values are:\r\n-\tlogging (used for messages, that shall be stored in a log file)\r\n-\tinformation (messages, that shall be presented to the customer on a display; lower priority)\r\n-\twarning (messages, that shall be presented to the customer on a display; medium priority)\r\n-\talarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm)\r\n-\temergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done)\r\n-\tobsolete (previously sent messages, that shall be marked as obsolete)" ; + rdfs:label "messaging type" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "logging" "information" "warning" "alarm" "emergency" "obsolete" ) + ] . + +s4ener:pause a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'pause'" ; + rdfs:label "pause" . + +s4ener:totalSequencesCountMax + a owl:DatatypeProperty ; + rdfs:comment "Represents the total number of power sequences supported by the power profile of a device" ; + rdfs:label "total sequences count max" ; + rdfs:range xsd:unsignedInt . + +s4ener:hasEventStateConsume + a owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event consume and the value that this state can assume." ; + rdfs:label "has event state consume" ; + rdfs:subPropertyOf saref:hasState . + +s4ener:exposes a owl:ObjectProperty ; + rdfs:comment "A relationship between a device and its power profile" ; + rdfs:label "exposes" . + +s4ener:emergency a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'emergency'" ; + rdfs:label "emergency" . + +s4ener:hasFunction a owl:ObjectProperty ; + rdfs:comment "A relationship identifying the functions performed by an actuator level and an actuator switch" ; + rdfs:label "has function" . + +s4ener:Power a owl:Class ; + rdfs:comment "Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)" ; + rdfs:label "Power" ; + rdfs:subClassOf saref:Power . + +s4ener:hasEventStateProduce + a owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event produce and the value that this state can assume." ; + rdfs:label "has event state produce" ; + rdfs:subPropertyOf saref:hasState . + +s4ener:completed a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'completed'" ; + rdfs:label "completed" . + +s4ener:repetitionsTotal + a owl:DatatypeProperty ; + rdfs:comment "Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1. " ; + rdfs:label "repetition total" ; + rdfs:range xsd:unsignedInt . + +s4ener:SlotTimeDurationDescription + a owl:Class ; + rdfs:comment "The duration description for the slot time duration temporal entities" ; + rdfs:label "Slot time duration description" ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> . + +s4ener:deviceCode a owl:DatatypeProperty ; + rdfs:comment "Provides a device code for the device as defined by the manufacturer." ; + rdfs:label "device code" ; + rdfs:range xsd:string . + +s4ener:valueTendency a owl:DatatypeProperty ; + rdfs:comment "Indicates whether the tendency of a measurement is rising, stable or falling." ; + rdfs:label "value tendency" ; + rdfs:range [ a rdfs:Datatype ; + owl:oneOf ( "rising" "stable" "falling" ) + ] . + +s4ener:ResumeEnergyEstimated + a owl:Class ; + rdfs:comment "In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information." ; + rdfs:label "Resume energy estimated" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:TimePeriod a owl:Class ; + rdfs:comment "The time period associated with load control event data" ; + rdfs:label "Time period" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:PowerMin a owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the minimum power consumption and its value" ; + rdfs:label "Power min" ; + rdfs:subClassOf s4ener:Power . + +s4ener:isPausable a owl:DatatypeProperty ; + rdfs:label "is pausable" ; + rdfs:range xsd:boolean . + +s4ener:ResumeCostEstimated + a owl:Class ; + rdfs:comment "In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause)." ; + rdfs:label "Resume cost estimated" ; + rdfs:subClassOf saref:Price . + +s4ener:EnergySkewness + a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy skewness and its value" ; + rdfs:label "Energy skewness" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:vendorName a owl:DatatypeProperty ; + rdfs:comment "Provides the name of the vendor of the device as defined by the manufacturer." ; + rdfs:label "vendor name" ; + rdfs:range xsd:string . + +s4ener:measurementID a owl:DatatypeProperty ; + rdfs:comment "Enables the identification of different sensors on one EEBus address." ; + rdfs:label "measurement id" ; + rdfs:range xsd:unsignedInt . + +s4ener:hardwareRevision + a owl:DatatypeProperty ; + rdfs:comment "Indicates the hardware revision of the device as defined by the manufacturer." ; + rdfs:label "hardware revision " ; + rdfs:range xsd:string . + +s4ener:supportsSingleSlotSchedulingOnly + a owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command." ; + rdfs:label "supports single slot scheduling only" ; + rdfs:range xsd:boolean . + +s4ener:ElapsedSlotTime + a owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted." ; + rdfs:label "Elapsed slot time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:invalid a s4ener:PowerSequenceState , owl:NamedIndividual ; + rdfs:comment "Power sequence state with value 'invalid'" ; + rdfs:label "invalid" . + +s4ener:sequenceRemoteControllable + a owl:DatatypeProperty ; + rdfs:comment "Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state." ; + rdfs:label "sequence remote controllable" ; + rdfs:range xsd:boolean . + +s4ener:slotNumber a owl:DatatypeProperty ; + rdfs:comment "Provides a unique slot identifier for a certain power sequence" ; + rdfs:label "slot number" ; + rdfs:range xsd:unsignedInt . + +s4ener:hasAppliedEventActionConsume + a owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event consume and the action to be performed as a consequence of this event." ; + rdfs:label "has applied event action consume" . + +s4ener:StartTime a owl:Class ; + rdfs:comment "The startTime of a power sequence or slot. SHALL be present" ; + rdfs:label "Start time" ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> . + +s4ener:EnergyMax a owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the maximum energy consumption and its value" ; + rdfs:label "Energy max" ; + rdfs:subClassOf s4ener:Energy . + +s4ener:vendorCode a owl:DatatypeProperty ; + rdfs:comment "Provides a code for the vendor of the device as defined by the manufacturer." ; + rdfs:label "vendor code" ; + rdfs:range xsd:string . + +s4ener:hasAppliedEventActionProduce + a owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event produce and the action to be performed as a consequence of this event." ; + rdfs:label "has applied event action produce" . + +s4ener:triggersEventActionConsume + a owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the consume action triggered by this event" ; + rdfs:label "triggers event action consume" . + +s4ener:deviceName a owl:DatatypeProperty ; + rdfs:comment "Provides the name of the device as defined by the manufacturer." ; + rdfs:label "device name" ; + rdfs:range xsd:string . + +s4ener:eventCancelled + a s4ener:EventStateProduce , s4ener:EventStateConsume , owl:NamedIndividual ; + rdfs:comment "Load control state with value 'event cancelled'" ; + rdfs:label "event cancelled" . + +s4ener:triggersEventActionProduce + a owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the produce action triggered by this event" ; + rdfs:label "triggers event action produce" . + +s4ener:messagingNumber + a owl:DatatypeProperty ; + rdfs:comment "An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message." ; + rdfs:label "messaging number" ; + rdfs:range xsd:unsignedInt . + +s4ener:reduce a s4ener:EventActionProduce , s4ener:EventActionConsume , owl:NamedIndividual ; + rdfs:comment "Load control event action with value 'reduce'" ; + rdfs:label "reduce" . + +s4ener:EventStateConsume + a owl:Class ; + rdfs:label "Event state consume" ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( "s4ener:eventAccepted" "s4ener:eventStarted" "s4ener:eventStopped" "s4ener:eventRejected" "s4ener:eventCancelled" "s4ener:eventError" ) . diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.rdf b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.rdf new file mode 100644 index 0000000000000000000000000000000000000000..c9cabf34060f5cf931f2de6fb6135084991a9085 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.rdf @@ -0,0 +1,1952 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:s4ener="https://saref.etsi.org/saref4ener#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4ener#"> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341001/01.01.01_60/ts_10341001v010101p.pdf"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4ener/v1.1.1/saref4ener#"/> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4ener#</vann:preferredNamespaceUri> + <owl:imports rdf:resource="https://saref.etsi.org/saref/v2.1.1/saref#"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <vann:preferredNamespacePrefix>s4ener</vann:preferredNamespacePrefix> + <owl:versionInfo>1.1.1</owl:versionInfo> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4ener/"/> + <dcterms:title>SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations</dcterms:title> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2015-09-04</dcterms:created> + <dcterms:description>SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1).</dcterms:description> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2016-12-13</dcterms:modified> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequence"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergy"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeEnergyEstimated"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:onClass> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeSlotNumber"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasPrice"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeCostEstimated"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergy"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeEnergyEstimated"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceRemoteControllable"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LatestEndTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTime"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Slot"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#valueSource"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingSlotTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasDescription"/> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMax"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EarliestStartTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMax"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Power sequence</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceID"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasState"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequenceState"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeRepetitionNumber"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Slot"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMax"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isPausable"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMin"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMin"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isStoppable"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#maxCyclesPerDay"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasPrice"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeCostEstimated"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasState"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequenceState"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ElapsedSlotTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMin"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#greenest"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#taskIdentifier"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#repetitionsTotal"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#cheapest"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSkewness"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power skewness</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the power skewness and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergySkewness"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"/> + </rdfs:subClassOf> + <rdfs:label>Energy skewness</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the energy skewness and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyMin"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"/> + </rdfs:subClassOf> + <rdfs:label>Energy min</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the minimum energy consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActivationDelayDurationDescription"> + <rdfs:subClassOf> + <rdf:Description rdf:about="http://www.w3.org/2006/time#DurationDescription"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#xsdDuration"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </rdf:Description> + </rdfs:subClassOf> + <rdfs:label>Activation delay duration description</rdfs:label> + <rdfs:comment>The duration description for the activation delay duration temporal entity</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Energy"/> + <rdfs:label>Energy</rdfs:label> + <rdfs:comment>Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventData"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionConsume"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionProduce"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#eventID"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionProduce"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionConsume"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasDevice"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Load control event data</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasDevice"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriod"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriod"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LatestEndTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Latest end time</rdfs:label> + <rdfs:comment>The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.
 +Note: This element applies to the first repetition of the slot number only.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriod"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Time period</rdfs:label> + <rdfs:comment>The time period associated with load control event data</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateProduce"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:eventError</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventCancelled</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventRejected</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStopped</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStarted</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventAccepted</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventState"/> + </rdfs:subClassOf> + <rdfs:label>Event state produce</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ElapsedSlotTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Elapsed slot time</rdfs:label> + <rdfs:comment>If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Pause time</rdfs:label> + <rdfs:comment>The pause time of a power sequence or a slot</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerStandardDeviation"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power standard deviation</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the power standard deviation and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#TimePeriodDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Time period duration description</rdfs:label> + <rdfs:comment>The duration description for the time period duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerProfile"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Power profile</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsSingleSlotSchedulingOnly"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"/> + </owl:onClass> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client). </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#totalSequencesCountMax"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Profile"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesCount"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#nodeRemoteControllable"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsReselection"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DefaultDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Default duration description</rdfs:label> + <rdfs:comment>The duration description for the default duration temporal entity</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerSequenceState"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:invalid</rdf:first> + </rdf:rest> + <rdf:first>s4ener:completed</rdf:first> + </rdf:rest> + <rdf:first>s4ener:inactive</rdf:first> + </rdf:rest> + <rdf:first>s4ener:pending</rdf:first> + </rdf:rest> + <rdf:first>s4ener:scheduledPaused</rdf:first> + </rdf:rest> + <rdf:first>s4ener:scheduled</rdf:first> + </rdf:rest> + <rdf:first>s4ener:paused</rdf:first> + </rdf:rest> + <rdf:first>s4ener:running</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#State"/> + </rdfs:subClassOf> + <rdfs:label>Power sequence state</rdfs:label> + <rdfs:comment>The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DefaultDuration"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Default duration</rdfs:label> + <rdfs:comment>The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTimeDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Start time duration description</rdfs:label> + <rdfs:comment>The duration description for the start time duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AnticipationDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Anticipation duration description</rdfs:label> + <rdfs:comment>The duration description for the anticipation duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventState"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#State"/> + </rdfs:subClassOf> + <rdfs:label>Load control event state </rdfs:label> + <rdfs:comment>In the load control, it expresses the possible states of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlStateData"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionConsume"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionProduce"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#eventID"/> + </owl:onProperty> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Load control state data</rdfs:label> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:comment>The representation of the state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionConsume"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateConsume"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateConsume"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateProduce"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#EventStateProduce"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTimestamp"/> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateConsume"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateConsume"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateProduce"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#EventStateProduce"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionProduce"/> + </owl:onProperty> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"/> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#SlotTimeDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Slot time duration description</rdfs:label> + <rdfs:comment>The duration description for the slot time duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DurationUncertaintyDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Duration uncertainty description</rdfs:label> + <rdfs:comment>The duration description for the duration uncertainty temporal entity</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Active duration description</rdfs:label> + <rdfs:comment>The duration description for the active duration (min and max, sum max and sum min) temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingSlotTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Remaining slot time</rdfs:label> + <rdfs:comment>If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMax"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration sum max</rdfs:label> + <rdfs:comment>The active maximum duration a power sequence can run in total (summation of all active times).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMin"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Pause duration min</rdfs:label> + <rdfs:comment>The minimum duration a power sequence can pause after the end of an activity.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#AlternativesGroup"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesGroupID"/> + </owl:onProperty> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#consistsOf"/> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:label>Alternatives group</rdfs:label> + <rdfs:comment>A collection of power sequences for a certain profile</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyExpected"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Energy expected</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the expected energy consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMin"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration min</rdfs:label> + <rdfs:comment>The active mininum duration a power sequence can run without interruption.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerMin"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power min</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the minimum power consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerExpected"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power expected </rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the expected power consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxAnticipation"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Max anticipation</rdfs:label> + <rdfs:comment>This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActuatorSwitch"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Actuator"/> + <rdfs:label>Actuator switch</rdfs:label> + <rdfs:comment>Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EarliestStartTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Earliest start time</rdfs:label> + <rdfs:comment>The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0.
 +Note: This element applies to the first repetition of the slot number only.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionConsume"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:normal</rdf:first> + </rdf:rest> + <rdf:first>s4ener:emergency</rdf:first> + </rdf:rest> + <rdf:first>s4ener:increase</rdf:first> + </rdf:rest> + <rdf:first>s4ener:reduce</rdf:first> + </rdf:rest> + <rdf:first>s4ener:resume</rdf:first> + </rdf:rest> + <rdf:first>s4ener:pause</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventAction"/> + </rdfs:subClassOf> + <rdfs:label>Event action consume</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#State"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#State"/> + <rdfs:label>State</rdfs:label> + <rdfs:comment>An entity that represents the possible states in SAREF4EE</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Slot"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxDuration"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotActivated"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID. </rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Time"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DurationUncertainty"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasPowerValueType"/> + </owl:onProperty> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </owl:allValuesFrom> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#LatestEndTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MinDuration"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#DefaultDuration"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#EarliestStartTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergyValueType"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerSequence"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingPauseTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#optionalSlot"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"/> + </owl:onProperty> + <owl:onClass> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Energy"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </owl:unionOf> + </owl:Class> + </owl:onClass> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotNumber"/> + </owl:onProperty> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:cardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>Slot</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasTime"/> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTime"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty rdf:resource="https://w3id.org/saref#hasDescription"/> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyMax"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Energy max</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the maximum energy consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxDuration"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Max duration</rdfs:label> + <rdfs:comment>If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeEnergyEstimated"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Resume energy estimated</rdfs:label> + <rdfs:comment>In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventActionProduce"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:normal</rdf:first> + </rdf:rest> + <rdf:first>s4ener:emergency</rdf:first> + </rdf:rest> + <rdf:first>s4ener:increase</rdf:first> + </rdf:rest> + <rdf:first>s4ener:reduce</rdf:first> + </rdf:rest> + <rdf:first>s4ener:resume</rdf:first> + </rdf:rest> + <rdf:first>s4ener:pause</rdf:first> + </owl:oneOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventAction"/> + </rdfs:subClassOf> + <rdfs:label>Event action produce</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#RemainingPauseTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Remaining pause time</rdfs:label> + <rdfs:comment>The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PowerMax"> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"/> + </rdfs:subClassOf> + <rdfs:label>Power max</rdfs:label> + <rdfs:comment>A possible type of power in a slot that represents the maximum power consumption and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#DurationUncertainty"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Duration uncertainty</rdfs:label> + <rdfs:comment>The uncertainty of the duration </rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>End time</rdfs:label> + <rdfs:comment>The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.
 +The end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration.</rdfs:comment> + </owl:Class> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#int"/> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#double"/> + </owl:unionOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationSumMin"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration sum min</rdfs:label> + <rdfs:comment>The active minimum duration a power sequence must run in total (summation of all active times).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MinDuration"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Min duration</rdfs:label> + <rdfs:comment>If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#MaxActivationDelay"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Max activation delay</rdfs:label> + <rdfs:comment>Maximum delay time between the end of the previous slot and the beginning of the current slot.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ResumeCostEstimated"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Price"/> + <rdfs:label>Resume cost estimated</rdfs:label> + <rdfs:comment>In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationMax"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Pause duration max</rdfs:label> + <rdfs:comment>The maximum duration a power sequence can pause after the end of an activity.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EndTimeDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>End time duration Description</rdfs:label> + <rdfs:comment>The duration description for the end time duration temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Power"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Power"/> + <rdfs:label>Power</rdfs:label> + <rdfs:comment>Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#LoadControlEventAction"> + <rdfs:label>Load Control event action</rdfs:label> + <rdfs:comment>An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter).</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActuatorLevel"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Actuator"/> + <rdfs:label>Actuator level</rdfs:label> + <rdfs:comment>Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActiveDurationMax"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Active duration max</rdfs:label> + <rdfs:comment>The active maximum duration a power sequence can run without interruption.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EnergyStandardDeviation"> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>Energy Standard Deviation</rdfs:label> + <rdfs:comment>A possible type of energy in a slot that represents the energy standard deviation and its value</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#Device"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#exposes"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceName"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#exposes"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#PowerProfile"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#serialNumber"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#softwareRevision"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#receives"/> + </owl:onProperty> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4ener#LoadControlEventData"/> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerNodeIdentification"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceCode"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorName"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#powerSource"/> + </owl:onProperty> + <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorCode"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#hardwareRevision"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)</rdfs:comment> + <rdfs:label>Device</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerLabel"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerDescription"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#brandName"/> + </owl:onProperty> + <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxCardinality> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#receives"/> + </owl:onProperty> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4ener#LoadControlEventData"/> + <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >0</owl:minQualifiedCardinality> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#StartTime"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Start time</rdfs:label> + <rdfs:comment>The startTime of a power sequence or slot. SHALL be present</rdfs:comment> + </owl:Class> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#int"/> + <rdf:Description rdf:about="http://www.w3.org/2001/XMLSchema#double"/> + </owl:unionOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#PauseDurationDescription"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#DurationDescription"/> + <rdfs:label>Pause duration description</rdfs:label> + <rdfs:comment>The duration description for the pause duration (max and min) temporal entities</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#EventStateConsume"> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>s4ener:eventError</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventCancelled</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventRejected</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStopped</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventStarted</rdf:first> + </rdf:rest> + <rdf:first>s4ener:eventAccepted</rdf:first> + </owl:oneOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4ener#LoadControlEventState"/> + <rdfs:label>Event state consume</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4ener#ActivationDelay"> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/time#TemporalEntity"/> + <rdfs:label>Activation delay</rdfs:label> + <rdfs:comment>The scheduled activation delay for a slot.</rdfs:comment> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateConsume"> + <rdfs:subPropertyOf rdf:resource="https://w3id.org/saref#hasState"/> + <rdfs:label>has event state consume</rdfs:label> + <rdfs:comment>A relationship between the specification of the state of a load control event consume and the value that this state can assume.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasFunction"> + <rdfs:label>has function</rdfs:label> + <rdfs:comment>A relationship identifying the functions performed by an actuator level and an actuator switch</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasPowerValueType"> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"/> + </rdfs:subPropertyOf> + <rdfs:label>has power value type</rdfs:label> + <rdfs:comment>A relationship representing a power value type</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasConnection"> + <rdfs:label>has connection</rdfs:label> + <rdfs:comment>In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasExpression"> + <rdfs:label>has expression</rdfs:label> + <rdfs:comment>A relationship between an appliance parameter compatibility action and the associated expressions</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionProduce"> + <rdfs:label>has applied event action produce</rdfs:label> + <rdfs:comment>A relationship between the state of a load control event produce and the action to be performed as a consequence of this event.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasDevice"> + <rdfs:label>has device</rdfs:label> + <rdfs:comment>A relationship between a load control event (used to send overload warning severity level and related load control commands) and the device interested by this event.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionConsume"> + <rdfs:label>triggers event action consume</rdfs:label> + <rdfs:comment>A relationship between a load control event and the consume action triggered by this event</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#triggersEventActionProduce"> + <rdfs:label>triggers event action produce</rdfs:label> + <rdfs:comment>A relationship between a load control event and the produce action triggered by this event</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergy"> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4ener#Energy"/> + <rdfs:label>has energy</rdfs:label> + <rdfs:comment>A relationship between a power sequence and its energy (in terms of value and unit of measure)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#belongsTo"> + <rdfs:label>belongs to</rdfs:label> + <rdfs:comment>A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device. </rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasAppliedEventActionConsume"> + <rdfs:label>has applied event action consume</rdfs:label> + <rdfs:comment>A relationship between the state of a load control event consume and the action to be performed as a consequence of this event.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#receives"> + <rdfs:label>receives</rdfs:label> + <rdfs:comment>A relationship between a device (e.g., an appliance or a smart meter) and a load control event</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEnergyValueType"> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"/> + </rdfs:subPropertyOf> + <rdfs:label>has energy value type</rdfs:label> + <rdfs:comment>A relationship representing an energy value type</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasEventStateProduce"> + <rdfs:subPropertyOf rdf:resource="https://w3id.org/saref#hasState"/> + <rdfs:label>has event state produce</rdfs:label> + <rdfs:comment>A relationship between the specification of the state of a load control event produce and the value that this state can assume.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#hasValueType"> + <rdfs:label>has value type</rdfs:label> + <rdfs:comment>A relation representing the value type of an entity</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4ener#exposes"> + <rdfs:label>exposes</rdfs:label> + <rdfs:comment>A relationship between a device and its power profile</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsReselection"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>supports reselection</rdfs:label> + <rdfs:comment>If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#brandName"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>brand name</rdfs:label> + <rdfs:comment>Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#eventID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>event ID</rdfs:label> + <rdfs:comment>Used in the Demand Response use case to identify an event</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#repetitionsTotal"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>repetition total</rdfs:label> + <rdfs:comment>Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceCode"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>device code</rdfs:label> + <rdfs:comment>Provides a device code for the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#optionalSlot"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>optional slot</rdfs:label> + <rdfs:comment>Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorCode"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>vendor code</rdfs:label> + <rdfs:comment>Provides a code for the vendor of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#supportsSingleSlotSchedulingOnly"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>supports single slot scheduling only</rdfs:label> + <rdfs:comment>If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#deviceName"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>device name</rdfs:label> + <rdfs:comment>Provides the name of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerNodeIdentification"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>manufacturer node identification</rdfs:label> + <rdfs:comment>Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>slot number</rdfs:label> + <rdfs:comment>Provides a unique slot identifier for a certain power sequence</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeSlotNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>active slot number</rdfs:label> + <rdfs:comment>Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isPausable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>is pausable</rdfs:label> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#nodeRemoteControllable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>node remote controllable</rdfs:label> + <rdfs:comment>Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#messagingType"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>obsolete</rdf:first> + </rdf:rest> + <rdf:first>emergency</rdf:first> + </rdf:rest> + <rdf:first>alarm</rdf:first> + </rdf:rest> + <rdf:first>warning</rdf:first> + </rdf:rest> + <rdf:first>information</rdf:first> + </rdf:rest> + <rdf:first>logging</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>messaging type</rdfs:label> + <rdfs:comment>Indicates the type of the message. Possible values are:
 +- logging (used for messages, that shall be stored in a log file)
 +- information (messages, that shall be presented to the customer on a display; lower priority)
 +- warning (messages, that shall be presented to the customer on a display; medium priority)
 +- alarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm)
 +- emergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done)
 +- obsolete (previously sent messages, that shall be marked as obsolete)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#serialNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>serial number</rdfs:label> + <rdfs:comment>Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#cheapest"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>cheapest</rdfs:label> + <rdfs:comment>Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerLabel"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>manufacturer label</rdfs:label> + <rdfs:comment>A short label of the device as defined by the manufacturer. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#valueSource"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>empiricalValue</rdf:first> + </rdf:rest> + <rdf:first>calculatedValue</rdf:first> + </rdf:rest> + <rdf:first>measuredValue</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>value source</rdfs:label> + <rdfs:comment>Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#greenest"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>greenest</rdfs:label> + <rdfs:comment>Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#isStoppable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>is stoppable</rdfs:label> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesGroupID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <rdfs:label>alternatives group ID</rdfs:label> + <rdfs:comment>The endpoint-wide unique identifier for the alternatives group instances provided by a power profile</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#totalSequencesCountMax"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>total sequences count max</rdfs:label> + <rdfs:comment>Represents the total number of power sequences supported by the power profile of a device</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activateSlot"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>activate slot</rdfs:label> + <rdfs:comment>Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory).</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>sequence ID</rdfs:label> + <rdfs:comment>Provides a unique power sequence identifier for a certain device</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#manufacturerDescription"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>manufacturer description</rdfs:label> + <rdfs:comment>A description for the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#alternativesCount"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + <rdfs:label>alternatives count</rdfs:label> + <rdfs:comment>Indicates the number of alternatives groups provided by a power profile</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#activeRepetitionNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>active repetition number</rdfs:label> + <rdfs:comment>Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent. </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#messagingNumber"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>messaging number</rdfs:label> + <rdfs:comment>An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#powerSource"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>dc</rdf:first> + </rdf:rest> + <rdf:first>battery</rdf:first> + </rdf:rest> + <rdf:first>mains3Phase</rdf:first> + </rdf:rest> + <rdf:first>mainsSinglePhase</rdf:first> + </rdf:rest> + <rdf:first>unknown</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>power source</rdfs:label> + <rdfs:comment>Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#measurementID"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>measurement id</rdfs:label> + <rdfs:comment>Enables the identification of different sensors on one EEBus address.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#valueTendency"> + <rdfs:range> + <rdfs:Datatype> + <owl:oneOf rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:parseType="Resource"> + <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> + <rdf:first>falling</rdf:first> + </rdf:rest> + <rdf:first>stable</rdf:first> + </rdf:rest> + <rdf:first>rising</rdf:first> + </owl:oneOf> + </rdfs:Datatype> + </rdfs:range> + <rdfs:label>value tendency</rdfs:label> + <rdfs:comment>Indicates whether the tendency of a measurement is rising, stable or falling.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#slotActivated"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>slot activated</rdfs:label> + <rdfs:comment>If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#maxCyclesPerDay"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>max cycles per day</rdfs:label> + <rdfs:comment>States the maximum amount of starts a power sequence (of a device) allows per day.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#xsdDuration"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#duration"/> + <rdfs:label>duration in xsd </rdfs:label> + <rdfs:comment>This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model:
 +- the startTime of the power sequence (in the PowerSequence class). SHALL be present
 +- the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted.
 +- the startTime of measurement as absolute or relative value (in the Measurement class).
 +- the endTime of measurement as absolute or relative value (in the Measurement class).</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#hardwareRevision"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>hardware revision </rdfs:label> + <rdfs:comment>Indicates the hardware revision of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#softwareRevision"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>software revision</rdfs:label> + <rdfs:comment>Indicates the software revision of a device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#vendorName"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:label>vendor name</rdfs:label> + <rdfs:comment>Provides the name of the vendor of the device as defined by the manufacturer.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#sequenceRemoteControllable"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdfs:label>sequence remote controllable</rdfs:label> + <rdfs:comment>Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4ener#taskIdentifier"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> + <rdfs:label>task identifier</rdfs:label> + </owl:DatatypeProperty> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#reduce"> + <rdfs:label>reduce</rdfs:label> + <rdfs:comment>Load control event action with value 'reduce'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventError"> + <rdfs:label>event error</rdfs:label> + <rdfs:comment>Load control state with value 'event error'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#increase"> + <rdfs:label>increase</rdfs:label> + <rdfs:comment>Load control event action with value 'increase'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#scheduled"> + <rdfs:label>scheduled</rdfs:label> + <rdfs:comment>Power sequence state with value 'scheduled'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#pause"> + <rdfs:label>pause</rdfs:label> + <rdfs:comment>Load control event action with value 'pause'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#paused"> + <rdfs:label>paused</rdfs:label> + <rdfs:comment>Power sequence state or sensor state with value 'paused'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#emergency"> + <rdfs:label>emergency</rdfs:label> + <rdfs:comment>Load control event action with value 'emergency'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#resume"> + <rdfs:label>resume</rdfs:label> + <rdfs:comment>Load control event action with value 'resume'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#inactive"> + <rdfs:label>inactive</rdfs:label> + <rdfs:comment>Power sequence state with value 'inactive'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#invalid"> + <rdfs:label>invalid</rdfs:label> + <rdfs:comment>Power sequence state with value 'invalid'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#running"> + <rdfs:label>running</rdfs:label> + <rdfs:comment>Power sequence state with value 'running'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventCancelled"> + <rdfs:label>event cancelled</rdfs:label> + <rdfs:comment>Load control state with value 'event cancelled'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#scheduledPaused"> + <rdfs:label>scheduled paused</rdfs:label> + <rdfs:comment>Power sequence state with value 'scheduled paused'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventActionProduce rdf:about="https://saref.etsi.org/saref4ener#normal"> + <rdfs:label>normal</rdfs:label> + <rdfs:comment>The value NORMAL used to instantiate the Load Control Event Action class and MeasurandState class</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventActionConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventActionProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventStopped"> + <rdfs:label>event stopped</rdfs:label> + <rdfs:comment>Load control state with value 'event stopped'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventAccepted"> + <rdfs:label>event accepted</rdfs:label> + <rdfs:comment>Load control state with value 'event accepted'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#completed"> + <rdfs:label>completed</rdfs:label> + <rdfs:comment>Power sequence state with value 'completed'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:PowerSequenceState rdf:about="https://saref.etsi.org/saref4ener#pending"> + <rdfs:label>pending</rdfs:label> + <rdfs:comment>Power sequence state with value 'pending'</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:PowerSequenceState> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventRejected"> + <rdfs:label>event rejected</rdfs:label> + <rdfs:comment>Load control state with value 'event rejected'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> + <s4ener:EventStateProduce rdf:about="https://saref.etsi.org/saref4ener#eventStarted"> + <rdfs:label>event started</rdfs:label> + <rdfs:comment>Load control state with value 'event started'</rdfs:comment> + <rdf:type rdf:resource="https://saref.etsi.org/saref4ener#EventStateConsume"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4ener:EventStateProduce> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.ttl b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.ttl new file mode 100644 index 0000000000000000000000000000000000000000..8a8e0551a193f06fc6d08b662212e3f593f3f9c8 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4ener/v1.1.1/saref4ener.ttl @@ -0,0 +1,1551 @@ +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix s4ener: <https://saref.etsi.org/saref4ener#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +<http://www.w3.org/2006/time#DurationDescription> + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:xsdDuration ; + ] ; +. +<https://saref.etsi.org/saref4ener#> rdf:type owl:Ontology ; + dcterms:title "SAREF4ENER: an extension of SAREF for the energy domain created in collaboration with Energy@Home and EEBus associations"^^xsd:string ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4ener/v1.1.1/saref4ener#> ; + dcterms:created "2015-09-04"^^xsd:date ; + dcterms:modified "2016-12-13"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4ener#" ; + vann:preferredNamespacePrefix "s4ener" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341001/01.01.01_60/ts_10341001v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4ener/> ; + dcterms:description "SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1)."^^xsd:string ; + owl:imports <https://saref.etsi.org/saref/v2.1.1/saref#> ; + dcterms:publisher <https://www.etsi.org/> . + + +s4ener:ActivationDelay + rdf:type owl:Class ; + rdfs:comment "The scheduled activation delay for a slot."^^xsd:string ; + rdfs:label "Activation delay"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActivationDelayDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the activation delay duration temporal entity"^^xsd:string ; + rdfs:label "Activation delay duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:ActiveDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the active duration (min and max, sum max and sum min) temporal entities"^^xsd:string ; + rdfs:label "Active duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:ActiveDurationMax + rdf:type owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run without interruption."^^xsd:string ; + rdfs:label "Active duration max"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActiveDurationMin + rdf:type owl:Class ; + rdfs:comment "The active mininum duration a power sequence can run without interruption."^^xsd:string ; + rdfs:label "Active duration min"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActiveDurationSumMax + rdf:type owl:Class ; + rdfs:comment "The active maximum duration a power sequence can run in total (summation of all active times)."^^xsd:string ; + rdfs:label "Active duration sum max"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActiveDurationSumMin + rdf:type owl:Class ; + rdfs:comment "The active minimum duration a power sequence must run in total (summation of all active times)."^^xsd:string ; + rdfs:label "Active duration sum min"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ActuatorLevel + rdf:type owl:Class ; + rdfs:comment "Independent from the ActuatorSwitch class, the ActuatorLevel class enables a user or application to model LEVEL commands (start, up, percentageAbsolute, relative, etc.). This can be used to dim a light, set the speed of an electric motor, etc."^^xsd:string ; + rdfs:label "Actuator level"^^xsd:string ; + rdfs:subClassOf saref:Actuator ; +. +s4ener:ActuatorSwitch + rdf:type owl:Class ; + rdfs:comment "Basic on/off operations on a simple actuator can be modelled with the ActuatorSwitch class. Whether the function turns a device itself ON or OFF, or whether it switches a specific feature, depends on the implementation. For example, one could model the super freeze program of a freezer using ActuatorSwitch class. An ON command would then activate the super freeze program and an OFF command would deactivate it. This example shall just give an idea how ActuatorSwitch can be used for more purposes than only turning devices on and off."^^xsd:string ; + rdfs:label "Actuator switch"^^xsd:string ; + rdfs:subClassOf saref:Actuator ; +. +s4ener:AlternativesGroup + rdf:type owl:Class ; + rdfs:comment "A collection of power sequences for a certain profile"^^xsd:string ; + rdfs:label "Alternatives group"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:alternativesGroupID ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:AnticipationDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the anticipation duration temporal entities"^^xsd:string ; + rdfs:label "Anticipation duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:DefaultDuration + rdf:type owl:Class ; + rdfs:comment "The duration of a slot (SHALL be present in case of 'determined slot'). If a slot has a configurable lenght, this element SHALL reflect the currently configured lenght"^^xsd:string ; + rdfs:label "Default duration"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:DefaultDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the default duration temporal entity"^^xsd:string ; + rdfs:label "Default duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:Device + rdf:type owl:Class ; + rdfs:comment "A specialization of a saref:Device that exposes a power profile with power sequences to the CEM (note that a s4ee:Device can also be called 'power sequence server'). Most of the existing devices can expose at most 1 power profile, but there are special cases in which more than one power profiles can be exposed by the same device. For example, consider the case of a combined fridge-freezer in which there are 2 logical devices (fridge and freezer) combined in 1 physical device. This combined device can expose 2 power profiles, one for the fridge and one for the freezer. A s4ee:Device (e.g. a household appliance or a smart meter) can also receive events about overload warning severity level and related load control commands (LoadControlEventData)"^^xsd:string ; + rdfs:label "Device"^^xsd:string ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerProfile ; + owl:onProperty s4ener:exposes ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:brandName ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceCode ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:deviceName ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:hardwareRevision ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerDescription ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerLabel ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:manufacturerNodeIdentification ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:serialNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:softwareRevision ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorCode ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:vendorName ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:powerSource ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LoadControlEventData ; + owl:onProperty s4ener:receives ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerProfile ; + owl:onProperty s4ener:exposes ; + ] ; +. +s4ener:DurationUncertainty + rdf:type owl:Class ; + rdfs:comment "The uncertainty of the duration "^^xsd:string ; + rdfs:label "Duration uncertainty"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:DurationUncertaintyDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the duration uncertainty temporal entity"^^xsd:string ; + rdfs:label "Duration uncertainty description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:EarliestStartTime + rdf:type owl:Class ; + rdfs:comment """The earliest possible start time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0. +Note: This element applies to the first repetition of the slot number only."""^^xsd:string ; + rdfs:label "Earliest start time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ElapsedSlotTime + rdf:type owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element CAN contain the time the slot has already been in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "Elapsed slot time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:EndTime + rdf:type owl:Class ; + rdfs:comment """The endTime of a power sequence. If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted. +The end time of a slot MAY be stated in this element. The following equation SHALL apply: endTime - startTime = defaultDuration."""^^xsd:string ; + rdfs:label "End time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:EndTimeDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the end time duration temporal entities"^^xsd:string ; + rdfs:label "End time duration Description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:Energy + rdf:type owl:Class ; + rdfs:comment "Energy type and value in a slot (i.e., Energy, EnergyMin, EnergyMax, EnergyExpected, EnergyStandardDeviation, EnergySkewness); or the ResumeEnergyEstimated in a power sequence, i.e., the additional energy the device will consume before resuming its normal operation (after a pause)"^^xsd:string ; + rdfs:label "Energy"^^xsd:string ; + rdfs:subClassOf saref:Energy ; +. +s4ener:EnergyExpected + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the expected energy consumption and its value"^^xsd:string ; + rdfs:label "Energy expected"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergyMax + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the maximum energy consumption and its value"^^xsd:string ; + rdfs:label "Energy max"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergyMin + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the minimum energy consumption and its value"^^xsd:string ; + rdfs:label "Energy min"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergySkewness + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy skewness and its value"^^xsd:string ; + rdfs:label "Energy skewness"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EnergyStandardDeviation + rdf:type owl:Class ; + rdfs:comment "A possible type of energy in a slot that represents the energy standard deviation and its value"^^xsd:string ; + rdfs:label "Energy Standard Deviation"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:EventActionConsume + rdf:type owl:Class ; + rdfs:label "Event action consume"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( + "s4ener:pause"^^xsd:string + "s4ener:resume"^^xsd:string + "s4ener:reduce"^^xsd:string + "s4ener:increase"^^xsd:string + "s4ener:emergency"^^xsd:string + "s4ener:normal"^^xsd:string + ) ; +. +s4ener:EventActionProduce + rdf:type owl:Class ; + rdfs:label "Event action produce"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventAction ; + owl:oneOf ( + "s4ener:pause"^^xsd:string + "s4ener:resume"^^xsd:string + "s4ener:reduce"^^xsd:string + "s4ener:increase"^^xsd:string + "s4ener:emergency"^^xsd:string + "s4ener:normal"^^xsd:string + ) ; +. +s4ener:EventStateConsume + rdf:type owl:Class ; + rdfs:label "Event state consume"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( + "s4ener:eventAccepted"^^xsd:string + "s4ener:eventStarted"^^xsd:string + "s4ener:eventStopped"^^xsd:string + "s4ener:eventRejected"^^xsd:string + "s4ener:eventCancelled"^^xsd:string + "s4ener:eventError"^^xsd:string + ) ; +. +s4ener:EventStateProduce + rdf:type owl:Class ; + rdfs:label "Event state produce"^^xsd:string ; + rdfs:subClassOf s4ener:LoadControlEventState ; + owl:oneOf ( + "s4ener:eventAccepted"^^xsd:string + "s4ener:eventStarted"^^xsd:string + "s4ener:eventStopped"^^xsd:string + "s4ener:eventRejected"^^xsd:string + "s4ener:eventCancelled"^^xsd:string + "s4ener:eventError"^^xsd:string + ) ; +. +s4ener:LatestEndTime + rdf:type owl:Class ; + rdfs:comment """The latest possible end time for a power sequence or a slot. Only 'xs:duration' value types SHALL be used to denote a relative time which relates to 'now' as time 0. +Note: This element applies to the first repetition of the slot number only."""^^xsd:string ; + rdfs:label "Latest end time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:LoadControlEventAction + rdf:type owl:Class ; + rdfs:comment "An action type used to express the action to be performed as a consequence of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load Control event action"^^xsd:string ; +. +s4ener:LoadControlEventData + rdf:type owl:Class ; + rdfs:comment "An event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load control event data"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:hasDevice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:TimePeriod ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:eventID ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:triggersEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:triggersEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:hasDevice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:TimePeriod ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; +. +s4ener:LoadControlEventState + rdf:type owl:Class ; + rdfs:comment "In the load control, it expresses the possible states of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load control event state "^^xsd:string ; + rdfs:subClassOf s4ener:State ; +. +s4ener:LoadControlStateData + rdf:type owl:Class ; + rdfs:comment "The representation of the state of an event used to send overload warning severity level and related load control commands to a device (e.g. a household appliance or a smart meter)."^^xsd:string ; + rdfs:label "Load control state data"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionConsume ; + owl:onProperty s4ener:hasAppliedEventActionConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventActionProduce ; + owl:onProperty s4ener:hasAppliedEventActionProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateConsume ; + owl:onProperty s4ener:hasEventStateConsume ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EventStateProduce ; + owl:onProperty s4ener:hasEventStateProduce ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:unsignedInt ; + owl:onProperty s4ener:eventID ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty saref:hasTimestamp ; + ] ; +. +s4ener:MaxActivationDelay + rdf:type owl:Class ; + rdfs:comment "Maximum delay time between the end of the previous slot and the beginning of the current slot."^^xsd:string ; + rdfs:label "Max activation delay"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:MaxAnticipation + rdf:type owl:Class ; + rdfs:comment "This field allows the anticipation of the phase if (and only if) the previous phase has the energy set to 0 Wh, each unit is a minute."^^xsd:string ; + rdfs:label "Max anticipation"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:MaxDuration + rdf:type owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the maximum supported configuration. Note: This element applies to the first repetition of the slot number only"^^xsd:string ; + rdfs:label "Max duration"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:MinDuration + rdf:type owl:Class ; + rdfs:comment "If a slot has a configurable duration, it SHALL be present and denote the minimum supported configuration. Note: This element applies to the first repetition of the slot number only."^^xsd:string ; + rdfs:label "Min duration"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:PauseDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the pause duration (max and min) temporal entities"^^xsd:string ; + rdfs:label "Pause duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:PauseDurationMax + rdf:type owl:Class ; + rdfs:comment "The maximum duration a power sequence can pause after the end of an activity."^^xsd:string ; + rdfs:label "Pause duration max"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:PauseDurationMin + rdf:type owl:Class ; + rdfs:comment "The minimum duration a power sequence can pause after the end of an activity."^^xsd:string ; + rdfs:label "Pause duration min"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:PauseTime + rdf:type owl:Class ; + rdfs:comment "The pause time of a power sequence or a slot"^^xsd:string ; + rdfs:label "Pause time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:Power + rdf:type owl:Class ; + rdfs:comment "Power type and value in a slot (i.e. power, powerMin, powerMax, powerExpectedValue, powerStandardDeviation, powerSkewness)"^^xsd:string ; + rdfs:label "Power"^^xsd:string ; + rdfs:subClassOf saref:Power ; +. +s4ener:PowerExpected + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the expected power consumption and its value"^^xsd:string ; + rdfs:label "Power expected "^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerMax + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the maximum power consumption and its value"^^xsd:string ; + rdfs:label "Power max"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerMin + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the minimum power consumption and its value"^^xsd:string ; + rdfs:label "Power min"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerProfile + rdf:type owl:Class ; + rdfs:comment "A way to model curves of power and energy over time, which also provides definitions for the modelling of power scheduling including alternative plans. With a PowerProfile, a device (or power sequences server) exposes the power sequences that are potentially relevant for the CEM (or power sequences client). "^^xsd:string ; + rdfs:label "Power profile"^^xsd:string ; + rdfs:subClassOf saref:Profile ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Device ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:alternativesCount ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:nodeRemoteControllable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsReselection ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:supportsSingleSlotSchedulingOnly ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:totalSequencesCountMax ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:Device ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:PowerSequence + rdf:type owl:Class ; + rdfs:comment "The specification of a task, such as wash or tumble dry, according to user preferences and/or manufacturer's settings for a certain device. It is the most 'coarse' view, a power sequence can represent all single steps of a whole task,where the single steps are represented by slots. If the power sequence is pausable by the bound power sequences client, the property 'saref:isInterruptionPossible' SHALL be present and set to true. Otherwise it SHALL be omitted. If the power sequence is stoppable by the bound power sequences client, the property 'saref:isFlexible' SHALL be present and set to true. Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "Power sequence"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequenceState ; + owl:onProperty saref:hasState ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Slot ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceID ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:sequenceRemoteControllable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeRepetitionNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:activeSlotNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:cheapest ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:greenest ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isPausable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:isStoppable ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:maxCyclesPerDay ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:repetitionsTotal ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMax ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationMin ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMax ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ActiveDurationSumMin ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ElapsedSlotTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMax ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PauseDurationMin ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingSlotTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeCostEstimated ; + owl:onProperty saref:hasPrice ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:ResumeEnergyEstimated ; + owl:onProperty s4ener:hasEnergy ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:taskIdentifier ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minCardinality "0"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:valueSource ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:PowerSequenceState ; + owl:onProperty saref:hasState ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:Slot ; + owl:onProperty saref:consistsOf ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:AlternativesGroup ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:PowerSequenceState + rdf:type owl:Class ; + rdfs:comment "The current state of the power sequence. It can assume one of the values 'running', 'paused', 'scheduled', 'scheduled paused', 'pending', 'inactive', 'completed', or 'invalid'."^^xsd:string ; + rdfs:label "Power sequence state"^^xsd:string ; + rdfs:subClassOf s4ener:State ; + owl:oneOf ( + "s4ener:running"^^xsd:string + "s4ener:paused"^^xsd:string + "s4ener:scheduled"^^xsd:string + "s4ener:scheduledPaused"^^xsd:string + "s4ener:pending"^^xsd:string + "s4ener:inactive"^^xsd:string + "s4ener:completed"^^xsd:string + "s4ener:invalid"^^xsd:string + ) ; +. +s4ener:PowerSkewness + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power skewness and its value"^^xsd:string ; + rdfs:label "Power skewness"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:PowerStandardDeviation + rdf:type owl:Class ; + rdfs:comment "A possible type of power in a slot that represents the power standard deviation and its value"^^xsd:string ; + rdfs:label "Power standard deviation"^^xsd:string ; + rdfs:subClassOf s4ener:Power ; +. +s4ener:RemainingPauseTime + rdf:type owl:Class ; + rdfs:comment "The duration that the current slot (s4ee:activeSlotNumber) permits being paused. This element SHALL ONLY be present if the power sequence is interruptible. Otherwise, it SHALL be omitted. In case the power sequence is interruptible the following rules apply: If the element is absent this means there is no explicit pause duration restriction for the current slot; a value of 0s denoted the slot does not permit being paused."^^xsd:string ; + rdfs:label "Remaining pause time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:RemainingSlotTime + rdf:type owl:Class ; + rdfs:comment "If state is set to 'running' or 'paused' AND the slot is determined, this element SHALL contain the time the slot still needs to be in 'running' state (this also means the value remains constant during a 'paused' state). Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "Remaining slot time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:ResumeCostEstimated + rdf:type owl:Class ; + rdfs:comment "In a power sequence the additional costs for the resumption of a device to its normal operation (after a pause)."^^xsd:string ; + rdfs:label "Resume cost estimated"^^xsd:string ; + rdfs:subClassOf saref:Price ; +. +s4ener:ResumeEnergyEstimated + rdf:type owl:Class ; + rdfs:comment "In a power sequence, the additional energy the device will consume before resuming its normal operation (after a pause). This is only an estimated value which will not be added to the value stated in any slot value information."^^xsd:string ; + rdfs:label "Resume energy estimated"^^xsd:string ; + rdfs:subClassOf s4ener:Energy ; +. +s4ener:Slot + rdf:type owl:Class ; + rdfs:comment "The single steps of a power sequence are represented by slots. A slot is associated with a slot number (while a power sequence is associated with a power sequence identifier). The slot numbers of two power sequences should be considered independent from each other, i.e., slot number 7 of sequence 1 describes a different slot than slot number 7 of sequence 2. Therefore a slot is only uniquely identified in combination with a sequence ID. "^^xsd:string ; + rdfs:label "Slot"^^xsd:string ; + rdfs:subClassOf owl:Thing ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom saref:Time ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Energy ; + owl:onProperty s4ener:hasEnergyValueType ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:Power ; + owl:onProperty s4ener:hasPowerValueType ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:allValuesFrom s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:cardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotNumber ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty saref:hasDescription ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:optionalSlot ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxCardinality "1"^^xsd:nonNegativeInteger ; + owl:onProperty s4ener:slotActivated ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DefaultDuration ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:DurationUncertainty ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EarliestStartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:EndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:LatestEndTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MaxDuration ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:MinDuration ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:RemainingPauseTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4ener:StartTime ; + owl:onProperty saref:hasTime ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass [ + rdf:type owl:Class ; + owl:unionOf ( + s4ener:Energy + s4ener:Power + ) ; + ] ; + owl:onProperty s4ener:hasValueType ; + ] ; + rdfs:subClassOf [ + rdf:type owl:Restriction ; + owl:onClass s4ener:PowerSequence ; + owl:onProperty s4ener:belongsTo ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + ] ; +. +s4ener:SlotTimeDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the slot time duration temporal entities"^^xsd:string ; + rdfs:label "Slot time duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:StartTime + rdf:type owl:Class ; + rdfs:comment "The startTime of a power sequence or slot. SHALL be present"^^xsd:string ; + rdfs:label "Start time"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:StartTimeDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the start time duration temporal entities"^^xsd:string ; + rdfs:label "Start time duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:State + rdf:type owl:Class ; + rdfs:comment "An entity that represents the possible states in SAREF4EE"^^xsd:string ; + rdfs:label "State"^^xsd:string ; + rdfs:subClassOf saref:State ; +. +s4ener:TimePeriod + rdf:type owl:Class ; + rdfs:comment "The time period associated with load control event data"^^xsd:string ; + rdfs:label "Time period"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ; +. +s4ener:TimePeriodDurationDescription + rdf:type owl:Class ; + rdfs:comment "The duration description for the time period duration temporal entities"^^xsd:string ; + rdfs:label "Time period duration description"^^xsd:string ; + rdfs:subClassOf <http://www.w3.org/2006/time#DurationDescription> ; +. +s4ener:activateSlot + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is used (activateSlot = true) or not (activateSlot = false). SHALL be present if a slot is optional (i.e., the property s4ee:optionalSlot is TRUE), otherwise SHALL be absent (i.e. in case the slot is mandatory)."^^xsd:string ; + rdfs:label "activate slot"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:activeRepetitionNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the current repetition of the sequence of slots. SHALL be present if a power sequence can repeat its sequence of slots (i.e., if s4ee:repetitionTotal is present and has a value > 1). Otherwise, it SHALL be absent. "^^xsd:string ; + rdfs:label "active repetition number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:activeSlotNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the currently active slot number, if the power sequence state is set to 'running' or 'paused'. Otherwise it SHALL be omitted."^^xsd:string ; + rdfs:label "active slot number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:alternativesCount + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the number of alternatives groups provided by a power profile"^^xsd:string ; + rdfs:label "alternatives count"^^xsd:string ; + rdfs:range xsd:integer ; +. +s4ener:alternativesGroupID + rdf:type owl:DatatypeProperty ; + rdfs:comment "The endpoint-wide unique identifier for the alternatives group instances provided by a power profile"^^xsd:string ; + rdfs:label "alternatives group ID"^^xsd:string ; + rdfs:range xsd:integer ; +. +s4ener:belongsTo + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the ownership of an entity. In particular, a slot belongs to a power sequence, a power sequence belongs to an alternative, an alternative belongs to a power profile, a power profile belongs to a device. "^^xsd:string ; + rdfs:label "belongs to"^^xsd:string ; +. +s4ener:brandName + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides the name of the brand of a device. Useful where the name of the brand and the vendor differs."^^xsd:string ; + rdfs:label "brand name"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:cheapest + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence applies a configuration that minimises the user’s energy bill (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. "^^xsd:string ; + rdfs:label "cheapest"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:completed + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'completed'"^^xsd:string ; + rdfs:label "completed"^^xsd:string ; +. +s4ener:deviceCode + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a device code for the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "device code"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:deviceName + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides the name of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "device name"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:emergency + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'emergency'"^^xsd:string ; + rdfs:label "emergency"^^xsd:string ; +. +s4ener:eventAccepted + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event accepted'"^^xsd:string ; + rdfs:label "event accepted"^^xsd:string ; +. +s4ener:eventCancelled + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event cancelled'"^^xsd:string ; + rdfs:label "event cancelled"^^xsd:string ; +. +s4ener:eventError + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event error'"^^xsd:string ; + rdfs:label "event error"^^xsd:string ; +. +s4ener:eventID + rdf:type owl:DatatypeProperty ; + rdfs:comment "Used in the Demand Response use case to identify an event"^^xsd:string ; + rdfs:label "event ID"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:eventRejected + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event rejected'"^^xsd:string ; + rdfs:label "event rejected"^^xsd:string ; +. +s4ener:eventStarted + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event started'"^^xsd:string ; + rdfs:label "event started"^^xsd:string ; +. +s4ener:eventStopped + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventStateConsume ; + rdf:type s4ener:EventStateProduce ; + rdfs:comment "Load control state with value 'event stopped'"^^xsd:string ; + rdfs:label "event stopped"^^xsd:string ; +. +s4ener:exposes + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a device and its power profile"^^xsd:string ; + rdfs:label "exposes"^^xsd:string ; +. +s4ener:greenest + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a power sequence optimises the configuration towards the maximum availability of renewable energy (if set to TRUE). MAY be present. Absence of this element is equal to the presence with value FALSE. "^^xsd:string ; + rdfs:label "greenest"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:hardwareRevision + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the hardware revision of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "hardware revision "^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:hasAppliedEventActionConsume + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event consume and the action to be performed as a consequence of this event."^^xsd:string ; + rdfs:label "has applied event action consume"^^xsd:string ; +. +s4ener:hasAppliedEventActionProduce + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the state of a load control event produce and the action to be performed as a consequence of this event."^^xsd:string ; + rdfs:label "has applied event action produce"^^xsd:string ; +. +s4ener:hasConnection + rdf:type owl:ObjectProperty ; + rdfs:comment "In the Remote Network Management (RemoteNWM) use case, a relationship between a node in a network (i.e., a s4ee:Device) and its connections (i.e., a s4ee:DeviceConnections). The same s4ee:Device (or node) can have multiple device connections as it can be connected to several networks at the same time."^^xsd:string ; + rdfs:label "has connection"^^xsd:string ; +. +s4ener:hasDevice + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event (used to send overload warning severity level and related load control commands) and the device interested by this event."^^xsd:string ; + rdfs:label "has device"^^xsd:string ; +. +s4ener:hasEnergy + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a power sequence and its energy (in terms of value and unit of measure)"^^xsd:string ; + rdfs:label "has energy"^^xsd:string ; + rdfs:range s4ener:Energy ; +. +s4ener:hasEnergyValueType + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship representing an energy value type"^^xsd:string ; + rdfs:label "has energy value type"^^xsd:string ; + rdfs:subPropertyOf s4ener:hasValueType ; +. +s4ener:hasEventStateConsume + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event consume and the value that this state can assume."^^xsd:string ; + rdfs:label "has event state consume"^^xsd:string ; + rdfs:subPropertyOf saref:hasState ; +. +s4ener:hasEventStateProduce + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between the specification of the state of a load control event produce and the value that this state can assume."^^xsd:string ; + rdfs:label "has event state produce"^^xsd:string ; + rdfs:subPropertyOf saref:hasState ; +. +s4ener:hasExpression + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between an appliance parameter compatibility action and the associated expressions"^^xsd:string ; + rdfs:label "has expression"^^xsd:string ; +. +s4ener:hasFunction + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship identifying the functions performed by an actuator level and an actuator switch"^^xsd:string ; + rdfs:label "has function"^^xsd:string ; +. +s4ener:hasPowerValueType + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship representing a power value type"^^xsd:string ; + rdfs:label "has power value type"^^xsd:string ; + rdfs:subPropertyOf s4ener:hasValueType ; +. +s4ener:hasValueType + rdf:type owl:ObjectProperty ; + rdfs:comment "A relation representing the value type of an entity"^^xsd:string ; + rdfs:label "has value type"^^xsd:string ; +. +s4ener:inactive + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'inactive'"^^xsd:string ; + rdfs:label "inactive"^^xsd:string ; +. +s4ener:increase + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'increase'"^^xsd:string ; + rdfs:label "increase"^^xsd:string ; +. +s4ener:invalid + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'invalid'"^^xsd:string ; + rdfs:label "invalid"^^xsd:string ; +. +s4ener:isPausable + rdf:type owl:DatatypeProperty ; + rdfs:label "is pausable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:isStoppable + rdf:type owl:DatatypeProperty ; + rdfs:label "is stoppable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:manufacturerDescription + rdf:type owl:DatatypeProperty ; + rdfs:comment "A description for the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "manufacturer description"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:manufacturerLabel + rdf:type owl:DatatypeProperty ; + rdfs:comment "A short label of the device as defined by the manufacturer. "^^xsd:string ; + rdfs:label "manufacturer label"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:manufacturerNodeIdentification + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates a node identification for the device as defined by the manufacturer. This could be used for the identification of a device, even if it was removed from the network and rejoined later with changed node address."^^xsd:string ; + rdfs:label "manufacturer node identification"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:maxCyclesPerDay + rdf:type owl:DatatypeProperty ; + rdfs:comment "States the maximum amount of starts a power sequence (of a device) allows per day."^^xsd:string ; + rdfs:label "max cycles per day"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:measurementID + rdf:type owl:DatatypeProperty ; + rdfs:comment "Enables the identification of different sensors on one EEBus address."^^xsd:string ; + rdfs:label "measurement id"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:messagingNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "An identifier for one specific message. If a message is marked as obsolete, this number can be used to identify the original message."^^xsd:string ; + rdfs:label "messaging number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:messagingType + rdf:type owl:DatatypeProperty ; + rdfs:comment """Indicates the type of the message. Possible values are: +- logging (used for messages, that shall be stored in a log file) +- information (messages, that shall be presented to the customer on a display; lower priority) +- warning (messages, that shall be presented to the customer on a display; medium priority) +- alarm (messages, that shall be presented to the customer on a display; high priority; if there is an alarm device in the household, it shall generate an alarm) +- emergency (messages, that shall be presented to the customer on a display; very high priority; if there is an alarm device in the household, it shall generate an alarm; additionally, if possible and configured, an emergency call shall be done) +- obsolete (previously sent messages, that shall be marked as obsolete)"""^^xsd:string ; + rdfs:label "messaging type"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "logging"^^xsd:string + "information"^^xsd:string + "warning"^^xsd:string + "alarm"^^xsd:string + "emergency"^^xsd:string + "obsolete"^^xsd:string + ) ; + ] ; +. +s4ener:nodeRemoteControllable + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether the power profile of a device is configured for remote control (e.g., by an energy management system).This refers to the selection chosen by the user on the remote control feature of the device. If nodeRemoteControllable is equal to FALSE, all the supported power sequences shall set the sequenceRemoteControllable property to FALSE. If nodeRemoteControllable is equal to TRUE, at least one power sequence shall be remotely controllable by setting the sequenceRemoteControllable property to TRUE."^^xsd:string ; + rdfs:label "node remote controllable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:normal + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "The value NORMAL used to instantiate the Load Control Event Action class and MeasurandState class"^^xsd:string ; + rdfs:label "normal"^^xsd:string ; +. +s4ener:optionalSlot + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether a slot is optional (if set to TRUE). Otherwise, if a slot is mandatory, SHALL be omitted or set to FALSE. Note: This element applies to every repetition of the slot number."^^xsd:string ; + rdfs:label "optional slot"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:pause + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'pause'"^^xsd:string ; + rdfs:label "pause"^^xsd:string ; +. +s4ener:paused + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state or sensor state with value 'paused'"^^xsd:string ; + rdfs:label "paused"^^xsd:string ; +. +s4ener:pending + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'pending'"^^xsd:string ; + rdfs:label "pending"^^xsd:string ; +. +s4ener:powerSource + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the power source of a device. Possible values are e.g. mainsSinglePhase or battery "^^xsd:string ; + rdfs:label "power source"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "unknown"^^xsd:string + "mainsSinglePhase"^^xsd:string + "mains3Phase"^^xsd:string + "battery"^^xsd:string + "dc"^^xsd:string + ) ; + ] ; +. +s4ener:receives + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a device (e.g., an appliance or a smart meter) and a load control event"^^xsd:string ; + rdfs:label "receives"^^xsd:string ; +. +s4ener:reduce + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'reduce'"^^xsd:string ; + rdfs:label "reduce"^^xsd:string ; +. +s4ener:repetitionsTotal + rdf:type owl:DatatypeProperty ; + rdfs:comment "Contains the total number of repetitions, if a power sequence repeats its sequence of slots. Absence of the element is equal to a presence with a value of 0 (zero). SHALL be absent if the value is 1. "^^xsd:string ; + rdfs:label "repetition total"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:resume + rdf:type owl:NamedIndividual ; + rdf:type s4ener:EventActionConsume ; + rdf:type s4ener:EventActionProduce ; + rdfs:comment "Load control event action with value 'resume'"^^xsd:string ; + rdfs:label "resume"^^xsd:string ; +. +s4ener:running + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'running'"^^xsd:string ; + rdfs:label "running"^^xsd:string ; +. +s4ener:scheduled + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'scheduled'"^^xsd:string ; + rdfs:label "scheduled"^^xsd:string ; +. +s4ener:scheduledPaused + rdf:type owl:NamedIndividual ; + rdf:type s4ener:PowerSequenceState ; + rdfs:comment "Power sequence state with value 'scheduled paused'"^^xsd:string ; + rdfs:label "scheduled paused"^^xsd:string ; +. +s4ener:sequenceID + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a unique power sequence identifier for a certain device"^^xsd:string ; + rdfs:label "sequence ID"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:sequenceRemoteControllable + rdf:type owl:DatatypeProperty ; + rdfs:comment "Denotes whether a power sequence is modifiable (if value is TRUE) or not (if value is FALSE). Modifiability is required to configure power sequences and slots. It is also required to change a power sequence state."^^xsd:string ; + rdfs:label "sequence remote controllable"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:serialNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the serial number of a device as defined by the manufacturer. Usually the same as printed on the case."^^xsd:string ; + rdfs:label "serial number"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:slotActivated + rdf:type owl:DatatypeProperty ; + rdfs:comment "If a slot is optional, represents the current status of the slot (true = the slot will be executed, false = the slot will not be executed). If the slot is not optional, this element SHALL be absent."^^xsd:string ; + rdfs:label "slot activated"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:slotNumber + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a unique slot identifier for a certain power sequence"^^xsd:string ; + rdfs:label "slot number"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:softwareRevision + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the software revision of a device as defined by the manufacturer."^^xsd:string ; + rdfs:label "software revision"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:supportsReselection + rdf:type owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does not restrict the number of power sequence re-selections by the CEM, i.e. within a given alternative the CEM may first choose one power sequence, alter the selection by configuring another sequence later on, then alter the selection again, etc. (provided the process rules and data still permit configuration). If supportsReselection is set to FALSE, the device permits the CEM to select a power sequence of an alternative only once."^^xsd:string ; + rdfs:label "supports reselection"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:supportsSingleSlotSchedulingOnly + rdf:type owl:DatatypeProperty ; + rdfs:comment "If set toTRUE, the power profile of a device does NOT permit the modification of more than one slot per configuration command."^^xsd:string ; + rdfs:label "supports single slot scheduling only"^^xsd:string ; + rdfs:range xsd:boolean ; +. +s4ener:taskIdentifier + rdf:type owl:DatatypeProperty ; + rdfs:label "task identifier"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:totalSequencesCountMax + rdf:type owl:DatatypeProperty ; + rdfs:comment "Represents the total number of power sequences supported by the power profile of a device"^^xsd:string ; + rdfs:label "total sequences count max"^^xsd:string ; + rdfs:range xsd:unsignedInt ; +. +s4ener:triggersEventActionConsume + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the consume action triggered by this event"^^xsd:string ; + rdfs:label "triggers event action consume"^^xsd:string ; +. +s4ener:triggersEventActionProduce + rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship between a load control event and the produce action triggered by this event"^^xsd:string ; + rdfs:label "triggers event action produce"^^xsd:string ; +. +s4ener:valueSource + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the source (origin/foundation) of the measurement forecasted values for a power sequence. If absent, the source is undefined. Remark: This element shall express the reliability of the forecast."^^xsd:string ; + rdfs:label "value source"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "measuredValue"^^xsd:string + "calculatedValue"^^xsd:string + "empiricalValue"^^xsd:string + ) ; + ] ; +. +s4ener:valueTendency + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates whether the tendency of a measurement is rising, stable or falling."^^xsd:string ; + rdfs:label "value tendency"^^xsd:string ; + rdfs:range [ + rdf:type rdfs:Datatype ; + owl:oneOf ( + "rising"^^xsd:string + "stable"^^xsd:string + "falling"^^xsd:string + ) ; + ] ; +. +s4ener:vendorCode + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides a code for the vendor of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "vendor code"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:vendorName + rdf:type owl:DatatypeProperty ; + rdfs:comment "Provides the name of the vendor of the device as defined by the manufacturer."^^xsd:string ; + rdfs:label "vendor name"^^xsd:string ; + rdfs:range xsd:string ; +. +s4ener:xsdDuration + rdf:type owl:DatatypeProperty ; + rdfs:comment """This property is added to the time:DurationDescription class to allow to express time duration also as xsd:duration. This is necessary because in the EEBus/E@h model time is always expressed as xsd:duration. We use this property to express the following time information in the EEBus/E@h model: +- the startTime of the power sequence (in the PowerSequence class). SHALL be present +- the endTime of the power sequence (in the PowerSequence class). If the value is available, it SHALL be denoted here. Otherwise the element SHALL be omitted. +- the startTime of measurement as absolute or relative value (in the Measurement class). +- the endTime of measurement as absolute or relative value (in the Measurement class)."""^^xsd:string ; + rdfs:label "duration in xsd "^^xsd:string ; + rdfs:range xsd:duration ; +. +[ + rdf:type owl:Class ; + owl:unionOf ( + xsd:int + xsd:double + ) ; +]. +[ + rdf:type owl:Class ; + owl:unionOf ( + xsd:int + xsd:double + ) ; +]. diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4envi/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4envi/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.html b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.html new file mode 100644 index 0000000000000000000000000000000000000000..597e2faa2b7ebdd02236c30bd98db418dcdb4a97 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF extension for environment</h1> + <p><strong>Official ETSI documentation for SAREF4ENVI v1.1.1</strong><br>This page will soon contain the documentation of the SAREF ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4ENVI v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4envi.ttl">Turtle</a> or <a href="./saref4envi.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4envi#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.n3 b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.n3 new file mode 100644 index 0000000000000000000000000000000000000000..7076c4098124afbbea7ae827188bae061bf80e45 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.n3 @@ -0,0 +1,712 @@ +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix s4envi: <https://saref.etsi.org/saref4envi#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +s4envi:ReflectionOfLight + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property reflection of light."@en ; + rdfs:label "Reflection of light"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal second"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/centimetre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Centimetre"@en . + +s4envi:hasFlash a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating whether a light has flash."@en ; + rdfs:label "has flash"@en ; + rdfs:range xsd:boolean . + +s4envi:LightProperty a owl:Class ; + rdfs:comment "An aspect of light that can be observable by a sensor."@en ; + rdfs:label "Light property"@en ; + rdfs:subClassOf saref:Property . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "is measured in"@en , "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the measurements it makes. Such measurement will link together the valur of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "makes measurement"@en . + +s4envi:System a owl:Class ; + rdfs:comment "A group of related hardware units or programs or both, especially when dedicated to a single application. (Definition taken from https://en.oxforddictionaries.com/definition/system)"@en ; + rdfs:label "System"@en ; + rdfs:subClassOf s4envi:PhysicalObject ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:CommunicationProtocol ; + owl:onProperty s4envi:usesCommunicationProtocol + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:CommunicationInterface ; + owl:onProperty s4envi:usesCommunicationInterface + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:System ; + owl:onProperty s4envi:isConnectedTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:System ; + owl:onProperty s4envi:isComponentOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:System ; + owl:onProperty s4envi:hasComponent + ] . + +s4envi:usesCommunicationProtocol + a owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication protocol it uses."@en ; + rdfs:label "uses communication protocol"@en . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:float ; + owl:onProperty saref:hasValue + ] ; + owl:disjointWith saref:Service , saref:Property , saref:UnitOfMeasure . + +<http://www.wurvoc.org/vocabularies/om-1.8/kilometre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Kilometre"@en . + +s4envi:FrequencyMeasurement + a owl:Class ; + rdfs:comment "Represents the measured value made over a frequency property. It is also linked to the frequency unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Frequency measurement"@en ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4envi:FrequencyUnit ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue s4envi:Frequency ; + owl:onProperty saref:relatesToProperty + ] . + +s4envi:CompassDirection + a owl:Class ; + rdfs:comment "The four cardinal directions or cardinal points are the directions of north, east, south, and west, commonly denoted by their initials: N, E, S, W. East and west are at right angles to north and south, with east being in the clockwise direction of rotation from north and west being directly opposite east. Intermediate points between the four cardinal directions form the points of the compass. (definition taken from https://en.wikipedia.org/wiki/Cardinal_direction)"@en ; + rdfs:label "Compass direction"@en ; + owl:disjointWith saref:Property , s4envi:DigitalRepresentation , s4envi:Light , saref:Service , saref:UnitOfMeasure , s4envi:Geometry , saref:Measurement . + +s4envi:Illuminance a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property illuminance."@en ; + rdfs:label "Illuminance"@en . + +s4envi:LightPoint a owl:Class ; + rdfs:comment "An spatial point from where a light is projected. It might belong to a lamppost."@en ; + rdfs:label "Light point"@en ; + rdfs:subClassOf geo:Point ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Light ; + owl:onProperty s4envi:projectsLight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom geo:SpatialThing ; + owl:onProperty geo:location + ] . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal hour"@en . + +s4envi:TESS a owl:Class ; + rdfs:comment "The Telescope Encoder and Sky Sensor (TESS) is a Sky Brightness and Cloud detector developed as a device for a remote observatory. A TESS can observe the light magnitude and other properties as ambient temperature and sky temperature."@en ; + rdfs:label "TESS (Telescope Encoder and Sky Sensor)"@en ; + rdfs:subClassOf s4envi:Photometer . + +<http://www.wurvoc.org/vocabularies/om-1.8/decametre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Decametre"@en . + +s4envi:Height a saref:Property , owl:NamedIndividual ; + rdfs:comment "An individual representing the property height."@en ; + rdfs:label "Height"@en . + +geo:Point a owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84. Uniquely identified by lat/long/alt. i.e. spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), at(P2, LAT), long(P2, LONG), alt(P2, ALT). sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2)."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Point"@en . + +saref:hasTimestamp a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en ; + rdfs:range xsd:dateTime . + +s4envi:Device a owl:Class ; + rdfs:comment "A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment. For example ‘a measuring device’ (definition taken from https://en.oxforddictionaries.com/definition/device). In this ontology it refers to the devices for environmental purposes."@en ; + rdfs:label "Device"@en ; + rdfs:subClassOf saref:Device , s4envi:System ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasRevisionNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:isContainedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasRevisionNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PeriodMeasurement ; + owl:onProperty s4envi:hasTransmissionPeriod + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:FrequencyMeasurement ; + owl:onProperty s4envi:hasFrequencyMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasManufacturer + ] . + +s4envi:hasFrequencyMeasurement + a owl:ObjectProperty ; + rdfs:comment "The relation between a device and the frequency in which it makes measurements."@en ; + rdfs:label "has frequency measurement"@en . + +s4envi:LightMagnitude + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property light magnitude."@en ; + rdfs:label "Light magnitude"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/hectometre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Hectometre"@en . + +geo:location a owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "location"@en . + +s4envi:hasDigitalRepresentation + a owl:InverseFunctionalProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the digital representation in which it is encapsulated."@en ; + rdfs:label "has digital representation"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/metre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Metre"@en . + +s4envi:hasColor a owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and its color."@en ; + rdfs:label "has color"@en . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the property o properties it can take measurement about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "measures property"@en . + +s4envi:Fluorescence a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property fluorescence."@en ; + rdfs:label "Fluorescence"@en . + +s4envi:Light a owl:Class ; + rdfs:comment "A light source, which may be a lantern, a street light, a floodlight, a signal lamp or any other device whose primary purpose is the generation of light. (Definition taken from http://wiki.openstreetmap.org/wiki/Proposed_features/Key:light_source#Description)"@en ; + rdfs:label "Light"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:HeightMeasurement ; + owl:onProperty s4envi:isProjectedFromHeight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Color ; + owl:onProperty s4envi:hasColor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Geometry ; + owl:onProperty s4envi:hasGeometry + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4envi:hasFlash + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:CompassDirection ; + owl:onProperty s4envi:isProjectedInDirection + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:float ; + owl:onProperty s4envi:hasProjectionAngle + ] ; + owl:disjointWith saref:Property , saref:Service , saref:Measurement , saref:UnitOfMeasure . + +s4envi:hasRevisionNumber + a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the revision number of a certain entity (e.g., a device)"@en ; + rdfs:label "has revision number"@en ; + rdfs:range xsd:string . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal day"@en . + +s4envi:LightAbsorption + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property light absorption."@en ; + rdfs:label "Light absorption"@en . + +s4envi:hasShield a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating whether a lamppost has a shield."@en ; + rdfs:label "has shield"@en ; + rdfs:range xsd:boolean . + +s4envi:HeightMeasurement + a owl:Class ; + rdfs:comment "Represents the measured value made over a height property. It is also linked to the height unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Height measurement"@en ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4envi:LengthUnit ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue s4envi:Height ; + owl:onProperty saref:relatesToProperty + ] . + +s4envi:Period a saref:Property , owl:NamedIndividual ; + rdfs:comment "An individual representing the property period."@en ; + rdfs:label "Period"@en . + +s4envi:Photometer a owl:Class ; + rdfs:comment "A photometer, generally, is an instrument that measures light intensity or optical properties of solutions or surfaces."@en ; + rdfs:label "Photometer"@en ; + rdfs:subClassOf saref:Sensor ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom s4envi:LightProperty + ] . + +s4envi:hasTransmissionPeriod + a owl:ObjectProperty ; + rdfs:comment "The relation between a device and the period in which it transmit information."@en ; + rdfs:label "has transmission period"@en . + +s4envi:hasProjectionAngle + a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship defining the projection angle of an entity (e.g., a light)."@en ; + rdfs:label "has projection angle"@en ; + rdfs:range xsd:float . + +s4envi:Geometry a owl:Class ; + rdfs:comment "Represents the shape of the light emission. It might be instantiated by individuals like \"spherical\", \"cylindrical\", etc. even though it is open to more comples representation of geometries using other vocabularies."@en ; + rdfs:label "Geometry"@en ; + owl:disjointWith saref:UnitOfMeasure , saref:Service , saref:Property , saref:Measurement , s4envi:Light . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +s4envi:isContainedIn a owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the physical object in which it might be contained."@en ; + rdfs:label "is contained in"@en . + +s4envi:Luminiscence a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property luminiscence."@en ; + rdfs:label "Luminiscence"@en . + +s4envi:ScatteringOfLight + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property scattering of light."@en ; + rdfs:label "Scattering of light"@en . + +s4envi:Frequency a saref:Property , owl:NamedIndividual ; + rdfs:comment "An individual representing the property frequency."@en ; + rdfs:label "Frequency"@en . + +s4envi:isComponentOf a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a system and the system it belongs to as a component."@en ; + rdfs:label "is component of"@en . + +s4envi:contains a owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the physical objects that can be contained in it."@en ; + rdfs:label "contains"@en ; + owl:inverseOf s4envi:isContainedIn . + +s4envi:hasGeometry a owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and the shape it is projected in."@en ; + rdfs:label "has geometry"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/hertz> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Hertz"@en . + +s4envi:CommunicationProtocol + a owl:Class ; + rdfs:comment "A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication protocol"@en ; + owl:disjointWith s4envi:Geometry , s4envi:CompassDirection , s4envi:DigitalRepresentation , saref:Property , s4envi:Light , saref:Service , saref:UnitOfMeasure , saref:Measurement . + +s4envi:Lamppost a owl:Class ; + rdfs:comment "A tall pole with a light at the top."@en ; + rdfs:label "Lamppost"@en ; + rdfs:subClassOf s4envi:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4envi:hasShield + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Light ; + owl:onProperty s4envi:projectsLight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:LightPoint ; + owl:onProperty s4envi:hasLightPoint + ] . + +geo:SpatialThing a owl:Class ; + rdfs:comment "Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Spatial thing"@en ; + owl:disjointWith s4envi:DigitalRepresentation , saref:Service , saref:Measurement , s4envi:CommunicationProtocol , s4envi:CommunicationInterface , s4envi:Color , s4envi:CompassDirection , s4envi:Geometry . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . + +s4envi:isAccesibleThrough + a owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment "The relation between a digital representation and the service which it is accesible through."@en ; + rdfs:label "is accesible through"@en . + +s4envi:affectsProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between an actuator with the property or properties it can act on"@en ; + rdfs:label "affects property"@en . + +s4envi:Actuator a owl:Class ; + rdfs:comment "Device that can act over at least one property."@en ; + rdfs:label "Actuator"@en ; + rdfs:subClassOf s4envi:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty s4envi:affectsProperty + ] . + +s4envi:hasIdentifier a owl:DatatypeProperty ; + rdfs:comment "A relationship providing the identifier of an entity (e.g., digital representation)"@en ; + rdfs:label "has identifier"@en ; + rdfs:range xsd:string . + +s4envi:FrequencyUnit a owl:Class ; + rdfs:comment "Unit of measure for the quantity frequency."@en ; + rdfs:label "Frequency unit"@en ; + rdfs:subClassOf saref:UnitOfMeasure . + +s4envi:CommunicationInterface + a owl:Class ; + rdfs:comment "An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication interface"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + owl:disjointWith s4envi:Light , saref:Measurement , saref:UnitOfMeasure , s4envi:DigitalRepresentation , saref:Property , s4envi:Geometry , s4envi:CompassDirection , s4envi:CommunicationProtocol . + +s4envi:hasVersion a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship defining the version of a certain entity (e.g., a device)"@en ; + rdfs:label "has version"@en ; + rdfs:range xsd:string . + +s4envi:hasCreationDate + a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship defining the creation date of an entity (e.g., a digital representation)."@en ; + rdfs:label "has creation date"@en ; + rdfs:range xsd:dateTime . + +s4envi:Irradiance a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property irradiance."@en ; + rdfs:label "Irradiance"@en . + +s4envi:hasComponent a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a system and the system in which it might be decomposed."@en ; + rdfs:label "has component"@en ; + owl:inverseOf s4envi:isComponentOf . + +s4envi:hasTag a owl:DatatypeProperty ; + rdfs:comment "A relationship stating the tags that can be assigned to an entity (e.g., a digital representation)."@en ; + rdfs:label "has tag"@en ; + rdfs:range xsd:string . + +s4envi:Color a owl:Class ; + rdfs:comment "Color of the emitted light. It might be indicated by named colors or using other type of color values like hexadecimal for RGB, color temperature, etc."@en ; + rdfs:label "Color"@en ; + owl:disjointWith saref:UnitOfMeasure , s4envi:DigitalRepresentation , s4envi:CommunicationInterface , s4envi:Geometry , s4envi:CommunicationProtocol , s4envi:CompassDirection , s4envi:Light , saref:Service . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + +saref:hasName a owl:DatatypeProperty ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + +s4envi:LengthUnit a owl:Class ; + rdfs:comment "Unit of measure for the quantity lenght."@en ; + rdfs:label "Length unit"@en ; + rdfs:subClassOf saref:UnitOfMeasure . + +s4envi: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> , <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:description "This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341002/01.01.01_60/ts_10341002v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4envi/> ; + dcterms:title "SAREF extension for environment"@en ; + vann:preferredNamespacePrefix "s4envi" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4envi#" ; + owl:versionIRI <https://saref.etsi.org/saref4envi/v1.1.1/saref4envi#> ; + owl:versionInfo "1.1.1" . + +s4envi:usesCommunicationInterface + a owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication interface it uses."@en ; + rdfs:label "uses communication interface"@en . + +s4envi:projectsLight a owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost or a light point and the light (or lights) they might project."@en ; + rdfs:label "projects light"@en . + +s4envi:DigitalRepresentation + a owl:Class ; + rdfs:comment "A digital representation encapsulates a physical object accessible via Web services"@en ; + rdfs:label "Digital representation"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:encapsulates + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4envi:hasCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasTag + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Service ; + owl:onProperty s4envi:isAccesibleThrough + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty s4envi:hasCreationDate + ] ; + owl:disjointWith saref:UnitOfMeasure , s4envi:Geometry , s4envi:Light , saref:Measurement . + +s4envi:hasLightPoint a owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost and its light points"@en ; + rdfs:label "has light point"@en . + +saref:Service a owl:Class ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service, the function(s) to be represented, and the (input and output) parameters necessary to operate the service."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Service"@en ; + owl:disjointWith saref:UnitOfMeasure . + +s4envi:isProjectedInDirection + a owl:ObjectProperty ; + rdfs:comment "A relation between a light and the direction in which it is projected."@en ; + rdfs:label "is projected in direction"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/decimetre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Decimetre"@en . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.\nA device that has category saref:Sensor and performs a saref:SensingFunction."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:makesMeasurement + ] . + +s4envi:encapsulates a owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a digital representation and the physical objects it represents."@en ; + rdfs:label "encapsulates"@en ; + owl:inverseOf s4envi:hasDigitalRepresentation . + +s4envi:Phosphorescence + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property phosphorescence."@en ; + rdfs:label "Phosphorescence"@en . + +saref:Property a owl:Class ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:label "Property"@en ; + owl:disjointWith saref:UnitOfMeasure , saref:Service . + +s4envi:PhysicalObject + a owl:Class ; + rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en ; + rdfs:subClassOf geo:SpatialThing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:isContainedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:DigitalRepresentation ; + owl:onProperty s4envi:hasDigitalRepresentation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:contains + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom geo:SpatialThing ; + owl:onProperty geo:location + ] . + +saref:hasManufacturer + a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer"@en . + +time:TemporalUnit a owl:Class ; + rdfs:comment "A temporal unit of measure, which provides a scale factor for a time quantity."@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Temporal unit"@en ; + rdfs:subClassOf saref:UnitOfMeasure . + +s4envi:isConnectedTo a owl:SymmetricProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a system and the system to which it is connected."@en ; + rdfs:label "is connected to"@en . + +s4envi:PeriodMeasurement + a owl:Class ; + rdfs:comment "Represents the measured value over a period property. It is also linked to the period unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Period measurement"@en ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass time:TemporalUnit ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue s4envi:Period ; + owl:onProperty saref:relatesToProperty + ] . + +<http://www.wurvoc.org/vocabularies/om-1.8/millimetre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Milimetre"@en . + +s4envi:isProjectedFromHeight + a owl:ObjectProperty ; + rdfs:comment "A relation between a light and the height measurement from which it is projected."@en ; + rdfs:label "is projected from height"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal year"@en . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en . diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.rdf b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.rdf new file mode 100644 index 0000000000000000000000000000000000000000..108b5a454e2210e4c0690457461ae95683395780 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.rdf @@ -0,0 +1,1104 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:s4envi="https://saref.etsi.org/saref4envi#" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4envi#"> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4envi/v1.1.1/saref4envi#"/> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341002/01.01.01_60/ts_10341002v010101p.pdf"/> + <dcterms:title xml:lang="en">SAREF extension for environment</dcterms:title> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <vann:preferredNamespacePrefix>s4envi</vann:preferredNamespacePrefix> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4envi/"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4envi#</vann:preferredNamespaceUri> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc.</dcterms:description> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LightPoint"> + <rdfs:label xml:lang="en">Light point</rdfs:label> + <rdfs:comment xml:lang="en">An spatial point from where a light is projected. It might belong to a lamppost.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#projectsLight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#TESS"> + <rdfs:label xml:lang="en">TESS (Telescope Encoder and Sky Sensor)</rdfs:label> + <rdfs:comment xml:lang="en">The Telescope Encoder and Sky Sensor (TESS) is a Sky Brightness and Cloud detector developed as a device for a remote observatory. A TESS can observe the light magnitude and other properties as ambient temperature and sky temperature.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Photometer"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CommunicationInterface"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from "Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.")</rdfs:comment> + <rdfs:label xml:lang="en">Communication interface</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CompassDirection"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Service"> + <rdfs:label xml:lang="en">Service</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service, the function(s) to be represented, and the (input and output) parameters necessary to operate the service.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CommunicationProtocol"> + <rdfs:label xml:lang="en">Communication protocol</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CompassDirection"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from "Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.")</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#FrequencyMeasurement"> + <rdfs:label xml:lang="en">Frequency measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a frequency property. It is also linked to the frequency unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#FrequencyUnit"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Property rdf:about="https://saref.etsi.org/saref4envi#Frequency"> + <rdfs:label xml:lang="en">Frequency</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the property frequency.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Property> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Photometer"> + <rdfs:label xml:lang="en">Photometer</rdfs:label> + <rdfs:comment xml:lang="en">A photometer, generally, is an instrument that measures light intensity or optical properties of solutions or surfaces.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LightProperty"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PeriodMeasurement"> + <rdfs:label xml:lang="en">Period measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value over a period property. It is also linked to the period unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalUnit"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Property rdf:about="https://saref.etsi.org/saref4envi#Period"> + <rdfs:label xml:lang="en">Period</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the property period.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Property> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CompassDirection"> + <rdfs:label xml:lang="en">Compass direction</rdfs:label> + <rdfs:comment xml:lang="en">The four cardinal directions or cardinal points are the directions of north, east, south, and west, commonly denoted by their initials: N, E, S, W. East and west are at right angles to north and south, with east being in the clockwise direction of rotation from north and west being directly opposite east. Intermediate points between the four cardinal directions form the points of the compass. (definition taken from https://en.wikipedia.org/wiki/Cardinal_direction)</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LightProperty"> + <rdfs:label xml:lang="en">Light property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of light that can be observable by a sensor.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Color"> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationInterface"/> + <rdfs:label xml:lang="en">Color</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CompassDirection"/> + <rdfs:comment xml:lang="en">Color of the emitted light. It might be indicated by named colors or using other type of color values like hexadecimal for RGB, color temperature, etc.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Device"> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"> + <rdfs:label xml:lang="en">Geometry</rdfs:label> + <rdfs:comment xml:lang="en">Represents the shape of the light emission. It might be instantiated by individuals like "spherical", "cylindrical", etc. even though it is open to more comples representation of geometries using other vocabularies.</rdfs:comment> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Device"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:comment xml:lang="en">A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment. For example ‘a measuring device’ (definition taken from https://en.oxforddictionaries.com/definition/device). In this ontology it refers to the devices for environmental purposes.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasRevisionNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#System"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasRevisionNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#PeriodMeasurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasTransmissionPeriod"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#FrequencyMeasurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasFrequencyMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasManufacturer"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:comment xml:lang="en">Device that can act over at least one property.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#affectsProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4envi#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#FrequencyUnit"> + <rdfs:label xml:lang="en">Frequency unit</rdfs:label> + <rdfs:comment xml:lang="en">Unit of measure for the quantity frequency.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes.</rdfs:comment> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + <rdfs:label xml:lang="en">Spatial thing</rdfs:label> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationInterface"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Color"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CompassDirection"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LengthUnit"> + <rdfs:label xml:lang="en">Length unit</rdfs:label> + <rdfs:comment xml:lang="en">Unit of measure for the quantity lenght.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#System"> + <rdfs:label xml:lang="en">System</rdfs:label> + <rdfs:comment xml:lang="en">A group of related hardware units or programs or both, especially when dedicated to a single application. (Definition taken from https://en.oxforddictionaries.com/definition/system)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationProtocol"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#CommunicationInterface"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationInterface"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#System"/> + <owl:onProperty> + <owl:SymmetricProperty rdf:about="https://saref.etsi.org/saref4envi#isConnectedTo"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#System"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#isComponentOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#System"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#hasComponent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#HeightMeasurement"> + <rdfs:label xml:lang="en">Height measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a height property. It is also linked to the height unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4envi#LengthUnit"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Property rdf:about="https://saref.etsi.org/saref4envi#Height"> + <rdfs:label xml:lang="en">Height</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the property height.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Property> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#HeightMeasurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedFromHeight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">A light source, which may be a lantern, a street light, a floodlight, a signal lamp or any other device whose primary purpose is the generation of light. (Definition taken from http://wiki.openstreetmap.org/wiki/Proposed_features/Key:light_source#Description)</rdfs:comment> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <rdfs:label xml:lang="en">Light</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#Color"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasColor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#Geometry"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasGeometry"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasFlash"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#CompassDirection"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedInDirection"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasProjectionAngle"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <rdfs:comment xml:lang="en">A digital representation encapsulates a physical object accessible via Web services</rdfs:comment> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Geometry"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#encapsulates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasCreationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Digital representation</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasTag"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Light"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Service"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#isAccesibleThrough"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasCreationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Property"> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"> + <rdfs:label xml:lang="en">Physical object</rdfs:label> + <rdfs:comment xml:lang="en">Any Object that has a proper space region. (Definition extracted from DUL ontology)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#PhysicalObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + <owl:onProperty> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasDigitalRepresentation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#PhysicalObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalUnit"> + <rdfs:label xml:lang="en">Temporal unit</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal unit of measure, which provides a scale factor for a time quantity.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Lamppost"> + <rdfs:label xml:lang="en">Lamppost</rdfs:label> + <rdfs:comment xml:lang="en">A tall pole with a light at the top.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasShield"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#Light"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#projectsLight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#LightPoint"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasLightPoint"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4envi#Device"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"> + <rdfs:label xml:lang="en">Point</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment xml:lang="en">A point, typically described using a coordinate system relative to Earth, such as WGS84. Uniquely identified by lat/long/alt. i.e. spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), at(P2, LAT), long(P2, LONG), alt(P2, ALT). sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).</rdfs:comment> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedFromHeight"> + <rdfs:label xml:lang="en">is projected from height</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light and the height measurement from which it is projected.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasColor"> + <rdfs:label xml:lang="en">has color</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light emitted and its color.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasGeometry"> + <rdfs:label xml:lang="en">has geometry</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light emitted and the shape it is projected in.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment xml:lang="en">The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping .</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasLightPoint"> + <rdfs:label xml:lang="en">has light point</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a lamppost and its light points</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#affectsProperty"> + <rdfs:label xml:lang="en">affects property</rdfs:label> + <rdfs:comment xml:lang="en">A relation between an actuator with the property or properties it can act on</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#contains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical object and the physical objects that can be contained in it.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationInterface"> + <rdfs:label xml:lang="en">uses communication interface</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the communication interface it uses.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a sensor and the property o properties it can take measurement about.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasTransmissionPeriod"> + <rdfs:label xml:lang="en">has transmission period</rdfs:label> + <rdfs:comment xml:lang="en">The relation between a device and the period in which it transmit information.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a sensor and the measurements it makes. Such measurement will link together the valur of the measurement, its unit of measure and the property to which it relates.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">is measured in</rdfs:comment> + <rdfs:comment xml:lang="en">A relation between a measurement and the unit of measure in which the measurement value is expressed.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasFrequencyMeasurement"> + <rdfs:label xml:lang="en">has frequency measurement</rdfs:label> + <rdfs:comment xml:lang="en">The relation between a device and the frequency in which it makes measurements.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationProtocol"> + <rdfs:label xml:lang="en">uses communication protocol</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the communication protocol it uses.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#projectsLight"> + <rdfs:label xml:lang="en">projects light</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a lamppost or a light point and the light (or lights) they might project.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedInDirection"> + <rdfs:label xml:lang="en">is projected in direction</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light and the direction in which it is projected.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"> + <rdfs:label xml:lang="en">is contained in</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical object and the physical object in which it might be contained.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a measurement and the property such measurement is about.</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship defining the value of a certain property, e.g., energy or power</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"> + <rdfs:label xml:lang="en">has description</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship providing a description of an entity (e.g., device)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasTag"> + <rdfs:label xml:lang="en">has tag</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating the tags that can be assigned to an entity (e.g., a digital representation).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"> + <rdfs:label xml:lang="en">has name</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship providing the name of an entity (e.g., device)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasRevisionNumber"> + <rdfs:label xml:lang="en">has revision number</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the revision number of a certain entity (e.g., a device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasManufacturer"> + <rdfs:label xml:lang="en">has manufacturer</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship identifying the manufacturer of an entity (e.g., device)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasIdentifier"> + <rdfs:label xml:lang="en">has identifier</rdfs:label> + <rdfs:comment xml:lang="en">A relationship providing the identifier of an entity (e.g., digital representation)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#isComponentOf"> + <rdfs:label xml:lang="en">is component of</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the system it belongs to as a component.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#hasComponent"> + <rdfs:label xml:lang="en">has component</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the system in which it might be decomposed.</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4envi#isComponentOf"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:SymmetricProperty rdf:about="https://saref.etsi.org/saref4envi#isConnectedTo"> + <rdfs:label xml:lang="en">is connected to</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the system to which it is connected.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:SymmetricProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasFlash"> + <rdfs:label xml:lang="en">has flash</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating whether a light has flash.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#encapsulates"> + <rdfs:label xml:lang="en">encapsulates</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a digital representation and the physical objects it represents.</rdfs:comment> + <owl:inverseOf> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasDigitalRepresentation"/> + </owl:inverseOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"> + <rdfs:label xml:lang="en">has version</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the version of a certain entity (e.g., a device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#isAccesibleThrough"> + <rdfs:label xml:lang="en">is accesible through</rdfs:label> + <rdfs:comment xml:lang="en">The relation between a digital representation and the service which it is accesible through.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasShield"> + <rdfs:label xml:lang="en">has shield</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating whether a lamppost has a shield.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasCreationDate"> + <rdfs:label xml:lang="en">has creation date</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the creation date of an entity (e.g., a digital representation).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasProjectionAngle"> + <rdfs:label xml:lang="en">has projection angle</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the projection angle of an entity (e.g., a light).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasDigitalRepresentation"> + <rdfs:label xml:lang="en">has digital representation</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical object and the digital representation in which it is encapsulated.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:InverseFunctionalProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/millimetre"> + <rdfs:label xml:lang="en">Milimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kilometre"> + <rdfs:label xml:lang="en">Kilometre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#LightAbsorption"> + <rdfs:label xml:lang="en">Light absorption</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property light absorption.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year"> + <rdfs:label xml:lang="en">Reciprocal year</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Illuminance"> + <rdfs:label xml:lang="en">Illuminance</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property illuminance.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/decimetre"> + <rdfs:label xml:lang="en">Decimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#ScatteringOfLight"> + <rdfs:label xml:lang="en">Scattering of light</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property scattering of light.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day"> + <rdfs:label xml:lang="en">Reciprocal day</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/hertz"> + <rdfs:label xml:lang="en">Hertz</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#LightMagnitude"> + <rdfs:label xml:lang="en">Light magnitude</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property light magnitude.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/centimetre"> + <rdfs:label xml:lang="en">Centimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#ReflectionOfLight"> + <rdfs:label xml:lang="en">Reflection of light</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property reflection of light.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Fluorescence"> + <rdfs:label xml:lang="en">Fluorescence</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property fluorescence.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time"> + <rdfs:label xml:lang="en">Reciprocal second</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Luminiscence"> + <rdfs:label xml:lang="en">Luminiscence</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property luminiscence.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour"> + <rdfs:label xml:lang="en">Reciprocal hour</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Irradiance"> + <rdfs:label xml:lang="en">Irradiance</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property irradiance.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Phosphorescence"> + <rdfs:label xml:lang="en">Phosphorescence</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property phosphorescence.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/decametre"> + <rdfs:label xml:lang="en">Decametre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/hectometre"> + <rdfs:label xml:lang="en">Hectometre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/metre"> + <rdfs:label xml:lang="en">Metre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.ttl b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.ttl new file mode 100644 index 0000000000000000000000000000000000000000..a1fc97b5656cd784b9f4eed2448bc2f1d9c8b7b0 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/latest/saref4envi.ttl @@ -0,0 +1,960 @@ +@prefix s4envi: <https://saref.etsi.org/saref4envi#> . +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@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#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix saref: <https://w3id.org/saref#> . +@prefix dcterms: <http://purl.org/dc/terms/> . + +<https://saref.etsi.org/saref4envi#> a owl:Ontology ; + dcterms:title "SAREF extension for environment"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4envi/v1.1.1/saref4envi#> ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4envi#" ; + vann:preferredNamespacePrefix "s4envi" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341002/01.01.01_60/ts_10341002v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4envi/> ; + dcterms:description "This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc."@en ; + dcterms:publisher <https://www.etsi.org/> . + +################################################################# +# Object Properties +################################################################# + +### http://www.w3.org/2003/01/geo/wgs84_pos#location +geo:location rdf:type owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "location"@en . + + +### https://saref.etsi.org/saref4envi#affectsProperty +s4envi:affectsProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between an actuator with the property or properties it can act on"@en ; + rdfs:label "affects property"@en . + + +### https://saref.etsi.org/saref4envi#contains +s4envi:contains rdf:type owl:ObjectProperty ; + owl:inverseOf s4envi:isContainedIn ; + rdfs:comment "A relation between a physical object and the physical objects that can be contained in it."@en ; + rdfs:label "contains"@en . + + +### https://saref.etsi.org/saref4envi#encapsulates +s4envi:encapsulates rdf:type owl:ObjectProperty ; + owl:inverseOf s4envi:hasDigitalRepresentation ; + rdf:type owl:FunctionalProperty ; + rdfs:comment "A relation between a digital representation and the physical objects it represents."@en ; + rdfs:label "encapsulates"@en . + + +### https://saref.etsi.org/saref4envi#hasColor +s4envi:hasColor rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and its color."@en ; + rdfs:label "has color"@en . + + +### https://saref.etsi.org/saref4envi#hasComponent +s4envi:hasComponent rdf:type owl:ObjectProperty ; + owl:inverseOf s4envi:isComponentOf ; + rdf:type owl:TransitiveProperty ; + rdfs:comment "A relation between a system and the system in which it might be decomposed."@en ; + rdfs:label "has component"@en . + + +### https://saref.etsi.org/saref4envi#hasDigitalRepresentation +s4envi:hasDigitalRepresentation rdf:type owl:ObjectProperty , + owl:InverseFunctionalProperty ; + rdfs:comment "A relation between a physical object and the digital representation in which it is encapsulated."@en ; + rdfs:label "has digital representation"@en . + + +### https://saref.etsi.org/saref4envi#hasFrequencyMeasurement +s4envi:hasFrequencyMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "The relation between a device and the frequency in which it makes measurements."@en ; + rdfs:label "has frequency measurement"@en . + + +### https://saref.etsi.org/saref4envi#hasGeometry +s4envi:hasGeometry rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and the shape it is projected in."@en ; + rdfs:label "has geometry"@en . + + +### https://saref.etsi.org/saref4envi#hasLightPoint +s4envi:hasLightPoint rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost and its light points"@en ; + rdfs:label "has light point"@en . + + +### https://saref.etsi.org/saref4envi#hasTransmissionPeriod +s4envi:hasTransmissionPeriod rdf:type owl:ObjectProperty ; + rdfs:comment "The relation between a device and the period in which it transmit information."@en ; + rdfs:label "has transmission period"@en . + + +### https://saref.etsi.org/saref4envi#isAccesibleThrough +s4envi:isAccesibleThrough rdf:type owl:ObjectProperty , + owl:FunctionalProperty ; + rdfs:comment "The relation between a digital representation and the service which it is accesible through."@en ; + rdfs:label "is accesible through"@en . + + +### https://saref.etsi.org/saref4envi#isComponentOf +s4envi:isComponentOf rdf:type owl:ObjectProperty , + owl:TransitiveProperty ; + rdfs:comment "A relation between a system and the system it belongs to as a component."@en ; + rdfs:label "is component of"@en . + + +### https://saref.etsi.org/saref4envi#isConnectedTo +s4envi:isConnectedTo rdf:type owl:ObjectProperty , + owl:SymmetricProperty ; + rdfs:comment "A relation between a system and the system to which it is connected."@en ; + rdfs:label "is connected to"@en . + + +### https://saref.etsi.org/saref4envi#isContainedIn +s4envi:isContainedIn rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the physical object in which it might be contained."@en ; + rdfs:label "is contained in"@en . + + +### https://saref.etsi.org/saref4envi#isProjectedFromHeight +s4envi:isProjectedFromHeight rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light and the height measurement from which it is projected."@en ; + rdfs:label "is projected from height"@en . + + +### https://saref.etsi.org/saref4envi#isProjectedInDirection +s4envi:isProjectedInDirection rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light and the direction in which it is projected."@en ; + rdfs:label "is projected in direction"@en . + + +### https://saref.etsi.org/saref4envi#projectsLight +s4envi:projectsLight rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost or a light point and the light (or lights) they might project."@en ; + rdfs:label "projects light"@en . + + +### https://saref.etsi.org/saref4envi#usesCommunicationInterface +s4envi:usesCommunicationInterface rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication interface it uses."@en ; + rdfs:label "uses communication interface"@en . + + +### https://saref.etsi.org/saref4envi#usesCommunicationProtocol +s4envi:usesCommunicationProtocol rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication protocol it uses."@en ; + rdfs:label "uses communication protocol"@en . + + +### https://w3id.org/saref#isMeasuredIn +saref:isMeasuredIn rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en , + "is measured in"@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" . + + +### https://w3id.org/saref#makesMeasurement +saref:makesMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the measurements it makes. Such measurement will link together the valur of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "makes measurement"@en . + + +### https://w3id.org/saref#measuresProperty +saref:measuresProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the property o properties it can take measurement about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "measures property"@en . + + +### https://w3id.org/saref#relatesToProperty +saref:relatesToProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . + + +################################################################# +# Data properties +################################################################# + +### https://saref.etsi.org/saref4envi#hasCreationDate +s4envi:hasCreationDate rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relationship defining the creation date of an entity (e.g., a digital representation)."@en ; + rdfs:label "has creation date"@en . + + +### https://saref.etsi.org/saref4envi#hasFlash +s4envi:hasFlash rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "A relationship stating whether a light has flash."@en ; + rdfs:label "has flash"@en . + + +### https://saref.etsi.org/saref4envi#hasIdentifier +s4envi:hasIdentifier rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing the identifier of an entity (e.g., digital representation)"@en ; + rdfs:label "has identifier"@en . + + +### https://saref.etsi.org/saref4envi#hasProjectionAngle +s4envi:hasProjectionAngle rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:float ; + rdfs:comment "A relationship defining the projection angle of an entity (e.g., a light)."@en ; + rdfs:label "has projection angle"@en . + + +### https://saref.etsi.org/saref4envi#hasRevisionNumber +s4envi:hasRevisionNumber rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship defining the revision number of a certain entity (e.g., a device)"@en ; + rdfs:label "has revision number"@en . + + +### https://saref.etsi.org/saref4envi#hasShield +s4envi:hasShield rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "A relationship stating whether a lamppost has a shield."@en ; + rdfs:label "has shield"@en . + + +### https://saref.etsi.org/saref4envi#hasTag +s4envi:hasTag rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship stating the tags that can be assigned to an entity (e.g., a digital representation)."@en ; + rdfs:label "has tag"@en . + + +### https://saref.etsi.org/saref4envi#hasVersion +s4envi:hasVersion rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship defining the version of a certain entity (e.g., a device)"@en ; + rdfs:label "has version"@en . + + +### https://w3id.org/saref#hasDescription +saref:hasDescription rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . + + +### https://w3id.org/saref#hasManufacturer +saref:hasManufacturer rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer"@en . + + +### https://w3id.org/saref#hasName +saref:hasName rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + + +### https://w3id.org/saref#hasTimestamp +saref:hasTimestamp rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en . + + +### https://w3id.org/saref#hasValue +saref:hasValue rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + + +################################################################# +# Classes +################################################################# + +### http://www.w3.org/2003/01/geo/wgs84_pos#Point +geo:Point rdf:type owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84. Uniquely identified by lat/long/alt. i.e. spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), at(P2, LAT), long(P2, LONG), alt(P2, ALT). sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2)."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Point"@en . + + +### http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing +geo:SpatialThing rdf:type owl:Class ; + owl:disjointWith s4envi:Color , + s4envi:CommunicationInterface , + s4envi:CommunicationProtocol , + s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + saref:Measurement , + saref:Service ; + rdfs:comment "Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Spatial thing"@en . + + +### http://www.w3.org/2006/time#TemporalUnit +time:TemporalUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "A temporal unit of measure, which provides a scale factor for a time quantity."@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Temporal unit"@en . + + +### https://saref.etsi.org/saref4envi#Actuator +s4envi:Actuator rdf:type owl:Class ; + rdfs:subClassOf s4envi:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:affectsProperty ; + owl:allValuesFrom saref:Property + ] ; + rdfs:comment "Device that can act over at least one property."@en ; + rdfs:label "Actuator"@en . + + +### https://saref.etsi.org/saref4envi#Color +s4envi:Color rdf:type owl:Class ; + owl:disjointWith s4envi:CommunicationInterface , + s4envi:CommunicationProtocol , + s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "Color of the emitted light. It might be indicated by named colors or using other type of color values like hexadecimal for RGB, color temperature, etc."@en ; + rdfs:label "Color"@en . + + +### https://saref.etsi.org/saref4envi#CommunicationInterface +s4envi:CommunicationInterface rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + owl:disjointWith s4envi:CommunicationProtocol , + s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:Property , + saref:UnitOfMeasure ; + rdfs:comment "An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication interface"@en . + + +### https://saref.etsi.org/saref4envi#CommunicationProtocol +s4envi:CommunicationProtocol rdf:type owl:Class ; + owl:disjointWith s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication protocol"@en . + + +### https://saref.etsi.org/saref4envi#CompassDirection +s4envi:CompassDirection rdf:type owl:Class ; + owl:disjointWith s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "The four cardinal directions or cardinal points are the directions of north, east, south, and west, commonly denoted by their initials: N, E, S, W. East and west are at right angles to north and south, with east being in the clockwise direction of rotation from north and west being directly opposite east. Intermediate points between the four cardinal directions form the points of the compass. (definition taken from https://en.wikipedia.org/wiki/Cardinal_direction)"@en ; + rdfs:label "Compass direction"@en . + + +### https://saref.etsi.org/saref4envi#Device +s4envi:Device rdf:type owl:Class ; + rdfs:subClassOf s4envi:System , + saref:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasFrequencyMeasurement ; + owl:allValuesFrom s4envi:FrequencyMeasurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasTransmissionPeriod ; + owl:allValuesFrom s4envi:PeriodMeasurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isContainedIn ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasRevisionNumber ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasManufacturer ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasRevisionNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment. For example ‘a measuring device’ (definition taken from https://en.oxforddictionaries.com/definition/device). In this ontology it refers to the devices for environmental purposes."@en ; + rdfs:label "Device"@en . + + +### https://saref.etsi.org/saref4envi#DigitalRepresentation +s4envi:DigitalRepresentation rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4envi:encapsulates ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isAccesibleThrough ; + owl:allValuesFrom saref:Service + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasCreationDate ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasIdentifier ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasTag ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasCreationDate ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasIdentifier ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + owl:disjointWith s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:UnitOfMeasure ; + rdfs:comment "A digital representation encapsulates a physical object accessible via Web services"@en ; + rdfs:label "Digital representation"@en . + + +### https://saref.etsi.org/saref4envi#FrequencyMeasurement +s4envi:FrequencyMeasurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:hasValue s4envi:Frequency + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4envi:FrequencyUnit + ] ; + rdfs:comment "Represents the measured value made over a frequency property. It is also linked to the frequency unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Frequency measurement"@en . + + +### https://saref.etsi.org/saref4envi#FrequencyUnit +s4envi:FrequencyUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "Unit of measure for the quantity frequency."@en ; + rdfs:label "Frequency unit"@en . + + +### https://saref.etsi.org/saref4envi#Geometry +s4envi:Geometry rdf:type owl:Class ; + owl:disjointWith s4envi:Light , + saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "Represents the shape of the light emission. It might be instantiated by individuals like \"spherical\", \"cylindrical\", etc. even though it is open to more comples representation of geometries using other vocabularies."@en ; + rdfs:label "Geometry"@en . + + +### https://saref.etsi.org/saref4envi#HeightMeasurement +s4envi:HeightMeasurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:hasValue s4envi:Height + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4envi:LengthUnit + ] ; + rdfs:comment "Represents the measured value made over a height property. It is also linked to the height unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Height measurement"@en . + + +### https://saref.etsi.org/saref4envi#Lamppost +s4envi:Lamppost rdf:type owl:Class ; + rdfs:subClassOf s4envi:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasLightPoint ; + owl:allValuesFrom s4envi:LightPoint + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:projectsLight ; + owl:allValuesFrom s4envi:Light + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasShield ; + owl:allValuesFrom xsd:boolean + ] ; + rdfs:comment "A tall pole with a light at the top."@en ; + rdfs:label "Lamppost"@en . + + +### https://saref.etsi.org/saref4envi#LengthUnit +s4envi:LengthUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "Unit of measure for the quantity lenght."@en ; + rdfs:label "Length unit"@en . + + +### https://saref.etsi.org/saref4envi#Light +s4envi:Light rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasColor ; + owl:allValuesFrom s4envi:Color + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasGeometry ; + owl:allValuesFrom s4envi:Geometry + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isProjectedFromHeight ; + owl:allValuesFrom s4envi:HeightMeasurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isProjectedInDirection ; + owl:allValuesFrom s4envi:CompassDirection + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasFlash ; + owl:allValuesFrom xsd:boolean + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasProjectionAngle ; + owl:allValuesFrom xsd:float + ] ; + owl:disjointWith saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "A light source, which may be a lantern, a street light, a floodlight, a signal lamp or any other device whose primary purpose is the generation of light. (Definition taken from http://wiki.openstreetmap.org/wiki/Proposed_features/Key:light_source#Description)"@en ; + rdfs:label "Light"@en . + + +### https://saref.etsi.org/saref4envi#LightPoint +s4envi:LightPoint rdf:type owl:Class ; + rdfs:subClassOf geo:Point , + [ rdf:type owl:Restriction ; + owl:onProperty geo:location ; + owl:allValuesFrom geo:SpatialThing + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:projectsLight ; + owl:allValuesFrom s4envi:Light + ] ; + rdfs:comment "An spatial point from where a light is projected. It might belong to a lamppost."@en ; + rdfs:label "Light point"@en . + + +### https://saref.etsi.org/saref4envi#LightProperty +s4envi:LightProperty rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "An aspect of light that can be observable by a sensor."@en ; + rdfs:label "Light property"@en . + + +### https://saref.etsi.org/saref4envi#PeriodMeasurement +s4envi:PeriodMeasurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:hasValue s4envi:Period + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass time:TemporalUnit + ] ; + rdfs:comment "Represents the measured value over a period property. It is also linked to the period unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Period measurement"@en . + + +### https://saref.etsi.org/saref4envi#Photometer +s4envi:Photometer rdf:type owl:Class ; + rdfs:subClassOf saref:Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom s4envi:LightProperty + ] ; + rdfs:comment "A photometer, generally, is an instrument that measures light intensity or optical properties of solutions or surfaces."@en ; + rdfs:label "Photometer"@en . + + +### https://saref.etsi.org/saref4envi#PhysicalObject +s4envi:PhysicalObject rdf:type owl:Class ; + rdfs:subClassOf geo:SpatialThing , + [ rdf:type owl:Restriction ; + owl:onProperty geo:location ; + owl:allValuesFrom geo:SpatialThing + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:contains ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasDigitalRepresentation ; + owl:allValuesFrom s4envi:DigitalRepresentation + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isContainedIn ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom xsd:string + ] ; + rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en . + + +### https://saref.etsi.org/saref4envi#System +s4envi:System rdf:type owl:Class ; + rdfs:subClassOf s4envi:PhysicalObject , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasComponent ; + owl:allValuesFrom s4envi:System + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isComponentOf ; + owl:allValuesFrom s4envi:System + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isConnectedTo ; + owl:allValuesFrom s4envi:System + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:usesCommunicationInterface ; + owl:allValuesFrom s4envi:CommunicationInterface + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:usesCommunicationProtocol ; + owl:allValuesFrom s4envi:CommunicationProtocol + ] ; + rdfs:comment "A group of related hardware units or programs or both, especially when dedicated to a single application. (Definition taken from https://en.oxforddictionaries.com/definition/system)"@en ; + rdfs:label "System"@en . + + +### https://saref.etsi.org/saref4envi#TESS +s4envi:TESS rdf:type owl:Class ; + rdfs:subClassOf s4envi:Photometer ; + rdfs:comment "The Telescope Encoder and Sky Sensor (TESS) is a Sky Brightness and Cloud detector developed as a device for a remote observatory. A TESS can observe the light magnitude and other properties as ambient temperature and sky temperature."@en ; + rdfs:label "TESS (Telescope Encoder and Sky Sensor)"@en . + + +### https://w3id.org/saref#Device +saref:Device rdf:type owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en . + + +### https://w3id.org/saref#Measurement +saref:Measurement rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:allValuesFrom xsd:float + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float + ] ; + owl:disjointWith saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en . + + +### https://w3id.org/saref#Property +saref:Property rdf:type owl:Class ; + owl:disjointWith saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:label "Property"@en . + + +### https://w3id.org/saref#Sensor +saref:Sensor rdf:type owl:Class ; + rdfs:subClassOf saref:Device , + [ rdf:type owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property + ] ; + rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en . + + +### https://w3id.org/saref#Service +saref:Service rdf:type owl:Class ; + owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service, the function(s) to be represented, and the (input and output) parameters necessary to operate the service."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Service"@en . + + +### https://w3id.org/saref#UnitOfMeasure +saref:UnitOfMeasure rdf:type owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + + +################################################################# +# Individuals +################################################################# + +### http://www.wurvoc.org/vocabularies/om-1.8/centimetre +<http://www.wurvoc.org/vocabularies/om-1.8/centimetre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Centimetre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/decametre +<http://www.wurvoc.org/vocabularies/om-1.8/decametre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Decametre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/decimetre +<http://www.wurvoc.org/vocabularies/om-1.8/decimetre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Decimetre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/hectometre +<http://www.wurvoc.org/vocabularies/om-1.8/hectometre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Hectometre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/hertz +<http://www.wurvoc.org/vocabularies/om-1.8/hertz> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Hertz"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kilometre +<http://www.wurvoc.org/vocabularies/om-1.8/kilometre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Kilometre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/metre +<http://www.wurvoc.org/vocabularies/om-1.8/metre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Metre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/millimetre +<http://www.wurvoc.org/vocabularies/om-1.8/millimetre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Milimetre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal day"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal hour"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal second"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal year"@en . + + +### https://saref.etsi.org/saref4envi#Fluorescence +s4envi:Fluorescence rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property fluorescence."@en ; + rdfs:label "Fluorescence"@en . + + +### https://saref.etsi.org/saref4envi#Frequency +s4envi:Frequency rdf:type owl:NamedIndividual , + saref:Property ; + rdfs:comment "An individual representing the property frequency."@en ; + rdfs:label "Frequency"@en . + + +### https://saref.etsi.org/saref4envi#Height +s4envi:Height rdf:type owl:NamedIndividual , + saref:Property ; + rdfs:comment "An individual representing the property height."@en ; + rdfs:label "Height"@en . + + +### https://saref.etsi.org/saref4envi#Illuminance +s4envi:Illuminance rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property illuminance."@en ; + rdfs:label "Illuminance"@en . + + +### https://saref.etsi.org/saref4envi#Irradiance +s4envi:Irradiance rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property irradiance."@en ; + rdfs:label "Irradiance"@en . + + +### https://saref.etsi.org/saref4envi#LightAbsorption +s4envi:LightAbsorption rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property light absorption."@en ; + rdfs:label "Light absorption"@en . + + +### https://saref.etsi.org/saref4envi#LightMagnitude +s4envi:LightMagnitude rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property light magnitude."@en ; + rdfs:label "Light magnitude"@en . + + +### https://saref.etsi.org/saref4envi#Luminiscence +s4envi:Luminiscence rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property luminiscence."@en ; + rdfs:label "Luminiscence"@en . + + +### https://saref.etsi.org/saref4envi#Period +s4envi:Period rdf:type owl:NamedIndividual , + saref:Property ; + rdfs:comment "An individual representing the property period."@en ; + rdfs:label "Period"@en . + + +### https://saref.etsi.org/saref4envi#Phosphorescence +s4envi:Phosphorescence rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property phosphorescence."@en ; + rdfs:label "Phosphorescence"@en . + + +### https://saref.etsi.org/saref4envi#ReflectionOfLight +s4envi:ReflectionOfLight rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property reflection of light."@en ; + rdfs:label "Reflection of light"@en . + + +### https://saref.etsi.org/saref4envi#ScatteringOfLight +s4envi:ScatteringOfLight rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property scattering of light."@en ; + rdfs:label "Scattering of light"@en . + + +### Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.html b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.html new file mode 100644 index 0000000000000000000000000000000000000000..597e2faa2b7ebdd02236c30bd98db418dcdb4a97 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF extension for environment</h1> + <p><strong>Official ETSI documentation for SAREF4ENVI v1.1.1</strong><br>This page will soon contain the documentation of the SAREF ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4ENVI v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4envi.ttl">Turtle</a> or <a href="./saref4envi.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4envi#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.n3 b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.n3 new file mode 100644 index 0000000000000000000000000000000000000000..7076c4098124afbbea7ae827188bae061bf80e45 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.n3 @@ -0,0 +1,712 @@ +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix s4envi: <https://saref.etsi.org/saref4envi#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +s4envi:ReflectionOfLight + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property reflection of light."@en ; + rdfs:label "Reflection of light"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal second"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/centimetre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Centimetre"@en . + +s4envi:hasFlash a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating whether a light has flash."@en ; + rdfs:label "has flash"@en ; + rdfs:range xsd:boolean . + +s4envi:LightProperty a owl:Class ; + rdfs:comment "An aspect of light that can be observable by a sensor."@en ; + rdfs:label "Light property"@en ; + rdfs:subClassOf saref:Property . + +saref:isMeasuredIn a owl:ObjectProperty ; + rdfs:comment "is measured in"@en , "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" . + +saref:makesMeasurement + a owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the measurements it makes. Such measurement will link together the valur of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "makes measurement"@en . + +s4envi:System a owl:Class ; + rdfs:comment "A group of related hardware units or programs or both, especially when dedicated to a single application. (Definition taken from https://en.oxforddictionaries.com/definition/system)"@en ; + rdfs:label "System"@en ; + rdfs:subClassOf s4envi:PhysicalObject ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:CommunicationProtocol ; + owl:onProperty s4envi:usesCommunicationProtocol + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:CommunicationInterface ; + owl:onProperty s4envi:usesCommunicationInterface + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:System ; + owl:onProperty s4envi:isConnectedTo + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:System ; + owl:onProperty s4envi:isComponentOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:System ; + owl:onProperty s4envi:hasComponent + ] . + +s4envi:usesCommunicationProtocol + a owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication protocol it uses."@en ; + rdfs:label "uses communication protocol"@en . + +saref:Measurement a owl:Class ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:Property ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty saref:hasTimestamp + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:UnitOfMeasure ; + owl:onProperty saref:isMeasuredIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onDataRange xsd:float ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:relatesToProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:float ; + owl:onProperty saref:hasValue + ] ; + owl:disjointWith saref:Service , saref:Property , saref:UnitOfMeasure . + +<http://www.wurvoc.org/vocabularies/om-1.8/kilometre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Kilometre"@en . + +s4envi:FrequencyMeasurement + a owl:Class ; + rdfs:comment "Represents the measured value made over a frequency property. It is also linked to the frequency unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Frequency measurement"@en ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4envi:FrequencyUnit ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue s4envi:Frequency ; + owl:onProperty saref:relatesToProperty + ] . + +s4envi:CompassDirection + a owl:Class ; + rdfs:comment "The four cardinal directions or cardinal points are the directions of north, east, south, and west, commonly denoted by their initials: N, E, S, W. East and west are at right angles to north and south, with east being in the clockwise direction of rotation from north and west being directly opposite east. Intermediate points between the four cardinal directions form the points of the compass. (definition taken from https://en.wikipedia.org/wiki/Cardinal_direction)"@en ; + rdfs:label "Compass direction"@en ; + owl:disjointWith saref:Property , s4envi:DigitalRepresentation , s4envi:Light , saref:Service , saref:UnitOfMeasure , s4envi:Geometry , saref:Measurement . + +s4envi:Illuminance a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property illuminance."@en ; + rdfs:label "Illuminance"@en . + +s4envi:LightPoint a owl:Class ; + rdfs:comment "An spatial point from where a light is projected. It might belong to a lamppost."@en ; + rdfs:label "Light point"@en ; + rdfs:subClassOf geo:Point ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Light ; + owl:onProperty s4envi:projectsLight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom geo:SpatialThing ; + owl:onProperty geo:location + ] . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal hour"@en . + +s4envi:TESS a owl:Class ; + rdfs:comment "The Telescope Encoder and Sky Sensor (TESS) is a Sky Brightness and Cloud detector developed as a device for a remote observatory. A TESS can observe the light magnitude and other properties as ambient temperature and sky temperature."@en ; + rdfs:label "TESS (Telescope Encoder and Sky Sensor)"@en ; + rdfs:subClassOf s4envi:Photometer . + +<http://www.wurvoc.org/vocabularies/om-1.8/decametre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Decametre"@en . + +s4envi:Height a saref:Property , owl:NamedIndividual ; + rdfs:comment "An individual representing the property height."@en ; + rdfs:label "Height"@en . + +geo:Point a owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84. Uniquely identified by lat/long/alt. i.e. spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), at(P2, LAT), long(P2, LONG), alt(P2, ALT). sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2)."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Point"@en . + +saref:hasTimestamp a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en ; + rdfs:range xsd:dateTime . + +s4envi:Device a owl:Class ; + rdfs:comment "A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment. For example ‘a measuring device’ (definition taken from https://en.oxforddictionaries.com/definition/device). In this ontology it refers to the devices for environmental purposes."@en ; + rdfs:label "Device"@en ; + rdfs:subClassOf saref:Device , s4envi:System ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasRevisionNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:isContainedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasRevisionNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PeriodMeasurement ; + owl:onProperty s4envi:hasTransmissionPeriod + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:FrequencyMeasurement ; + owl:onProperty s4envi:hasFrequencyMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasManufacturer + ] . + +s4envi:hasFrequencyMeasurement + a owl:ObjectProperty ; + rdfs:comment "The relation between a device and the frequency in which it makes measurements."@en ; + rdfs:label "has frequency measurement"@en . + +s4envi:LightMagnitude + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property light magnitude."@en ; + rdfs:label "Light magnitude"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/hectometre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Hectometre"@en . + +geo:location a owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "location"@en . + +s4envi:hasDigitalRepresentation + a owl:InverseFunctionalProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the digital representation in which it is encapsulated."@en ; + rdfs:label "has digital representation"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/metre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Metre"@en . + +s4envi:hasColor a owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and its color."@en ; + rdfs:label "has color"@en . + +saref:measuresProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the property o properties it can take measurement about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "measures property"@en . + +s4envi:Fluorescence a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property fluorescence."@en ; + rdfs:label "Fluorescence"@en . + +s4envi:Light a owl:Class ; + rdfs:comment "A light source, which may be a lantern, a street light, a floodlight, a signal lamp or any other device whose primary purpose is the generation of light. (Definition taken from http://wiki.openstreetmap.org/wiki/Proposed_features/Key:light_source#Description)"@en ; + rdfs:label "Light"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:HeightMeasurement ; + owl:onProperty s4envi:isProjectedFromHeight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Color ; + owl:onProperty s4envi:hasColor + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Geometry ; + owl:onProperty s4envi:hasGeometry + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4envi:hasFlash + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:CompassDirection ; + owl:onProperty s4envi:isProjectedInDirection + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:float ; + owl:onProperty s4envi:hasProjectionAngle + ] ; + owl:disjointWith saref:Property , saref:Service , saref:Measurement , saref:UnitOfMeasure . + +s4envi:hasRevisionNumber + a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the revision number of a certain entity (e.g., a device)"@en ; + rdfs:label "has revision number"@en ; + rdfs:range xsd:string . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal day"@en . + +s4envi:LightAbsorption + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property light absorption."@en ; + rdfs:label "Light absorption"@en . + +s4envi:hasShield a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship stating whether a lamppost has a shield."@en ; + rdfs:label "has shield"@en ; + rdfs:range xsd:boolean . + +s4envi:HeightMeasurement + a owl:Class ; + rdfs:comment "Represents the measured value made over a height property. It is also linked to the height unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Height measurement"@en ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4envi:LengthUnit ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue s4envi:Height ; + owl:onProperty saref:relatesToProperty + ] . + +s4envi:Period a saref:Property , owl:NamedIndividual ; + rdfs:comment "An individual representing the property period."@en ; + rdfs:label "Period"@en . + +s4envi:Photometer a owl:Class ; + rdfs:comment "A photometer, generally, is an instrument that measures light intensity or optical properties of solutions or surfaces."@en ; + rdfs:label "Photometer"@en ; + rdfs:subClassOf saref:Sensor ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom s4envi:LightProperty + ] . + +s4envi:hasTransmissionPeriod + a owl:ObjectProperty ; + rdfs:comment "The relation between a device and the period in which it transmit information."@en ; + rdfs:label "has transmission period"@en . + +s4envi:hasProjectionAngle + a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship defining the projection angle of an entity (e.g., a light)."@en ; + rdfs:label "has projection angle"@en ; + rdfs:range xsd:float . + +s4envi:Geometry a owl:Class ; + rdfs:comment "Represents the shape of the light emission. It might be instantiated by individuals like \"spherical\", \"cylindrical\", etc. even though it is open to more comples representation of geometries using other vocabularies."@en ; + rdfs:label "Geometry"@en ; + owl:disjointWith saref:UnitOfMeasure , saref:Service , saref:Property , saref:Measurement , s4envi:Light . + +saref:hasValue a owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + +s4envi:isContainedIn a owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the physical object in which it might be contained."@en ; + rdfs:label "is contained in"@en . + +s4envi:Luminiscence a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property luminiscence."@en ; + rdfs:label "Luminiscence"@en . + +s4envi:ScatteringOfLight + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property scattering of light."@en ; + rdfs:label "Scattering of light"@en . + +s4envi:Frequency a saref:Property , owl:NamedIndividual ; + rdfs:comment "An individual representing the property frequency."@en ; + rdfs:label "Frequency"@en . + +s4envi:isComponentOf a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a system and the system it belongs to as a component."@en ; + rdfs:label "is component of"@en . + +s4envi:contains a owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the physical objects that can be contained in it."@en ; + rdfs:label "contains"@en ; + owl:inverseOf s4envi:isContainedIn . + +s4envi:hasGeometry a owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and the shape it is projected in."@en ; + rdfs:label "has geometry"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/hertz> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Hertz"@en . + +s4envi:CommunicationProtocol + a owl:Class ; + rdfs:comment "A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication protocol"@en ; + owl:disjointWith s4envi:Geometry , s4envi:CompassDirection , s4envi:DigitalRepresentation , saref:Property , s4envi:Light , saref:Service , saref:UnitOfMeasure , saref:Measurement . + +s4envi:Lamppost a owl:Class ; + rdfs:comment "A tall pole with a light at the top."@en ; + rdfs:label "Lamppost"@en ; + rdfs:subClassOf s4envi:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:boolean ; + owl:onProperty s4envi:hasShield + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:Light ; + owl:onProperty s4envi:projectsLight + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:LightPoint ; + owl:onProperty s4envi:hasLightPoint + ] . + +geo:SpatialThing a owl:Class ; + rdfs:comment "Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Spatial thing"@en ; + owl:disjointWith s4envi:DigitalRepresentation , saref:Service , saref:Measurement , s4envi:CommunicationProtocol , s4envi:CommunicationInterface , s4envi:Color , s4envi:CompassDirection , s4envi:Geometry . + +saref:hasDescription a owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . + +s4envi:isAccesibleThrough + a owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment "The relation between a digital representation and the service which it is accesible through."@en ; + rdfs:label "is accesible through"@en . + +s4envi:affectsProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between an actuator with the property or properties it can act on"@en ; + rdfs:label "affects property"@en . + +s4envi:Actuator a owl:Class ; + rdfs:comment "Device that can act over at least one property."@en ; + rdfs:label "Actuator"@en ; + rdfs:subClassOf s4envi:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty s4envi:affectsProperty + ] . + +s4envi:hasIdentifier a owl:DatatypeProperty ; + rdfs:comment "A relationship providing the identifier of an entity (e.g., digital representation)"@en ; + rdfs:label "has identifier"@en ; + rdfs:range xsd:string . + +s4envi:FrequencyUnit a owl:Class ; + rdfs:comment "Unit of measure for the quantity frequency."@en ; + rdfs:label "Frequency unit"@en ; + rdfs:subClassOf saref:UnitOfMeasure . + +s4envi:CommunicationInterface + a owl:Class ; + rdfs:comment "An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication interface"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasVersion + ] ; + owl:disjointWith s4envi:Light , saref:Measurement , saref:UnitOfMeasure , s4envi:DigitalRepresentation , saref:Property , s4envi:Geometry , s4envi:CompassDirection , s4envi:CommunicationProtocol . + +s4envi:hasVersion a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship defining the version of a certain entity (e.g., a device)"@en ; + rdfs:label "has version"@en ; + rdfs:range xsd:string . + +s4envi:hasCreationDate + a owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment "A relationship defining the creation date of an entity (e.g., a digital representation)."@en ; + rdfs:label "has creation date"@en ; + rdfs:range xsd:dateTime . + +s4envi:Irradiance a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property irradiance."@en ; + rdfs:label "Irradiance"@en . + +s4envi:hasComponent a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a system and the system in which it might be decomposed."@en ; + rdfs:label "has component"@en ; + owl:inverseOf s4envi:isComponentOf . + +s4envi:hasTag a owl:DatatypeProperty ; + rdfs:comment "A relationship stating the tags that can be assigned to an entity (e.g., a digital representation)."@en ; + rdfs:label "has tag"@en ; + rdfs:range xsd:string . + +s4envi:Color a owl:Class ; + rdfs:comment "Color of the emitted light. It might be indicated by named colors or using other type of color values like hexadecimal for RGB, color temperature, etc."@en ; + rdfs:label "Color"@en ; + owl:disjointWith saref:UnitOfMeasure , s4envi:DigitalRepresentation , s4envi:CommunicationInterface , s4envi:Geometry , s4envi:CommunicationProtocol , s4envi:CompassDirection , s4envi:Light , saref:Service . + +saref:relatesToProperty + a owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . + +saref:UnitOfMeasure a owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + +saref:hasName a owl:DatatypeProperty ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + +s4envi:LengthUnit a owl:Class ; + rdfs:comment "Unit of measure for the quantity lenght."@en ; + rdfs:label "Length unit"@en ; + rdfs:subClassOf saref:UnitOfMeasure . + +s4envi: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> , <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:description "This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341002/01.01.01_60/ts_10341002v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4envi/> ; + dcterms:title "SAREF extension for environment"@en ; + vann:preferredNamespacePrefix "s4envi" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4envi#" ; + owl:versionIRI <https://saref.etsi.org/saref4envi/v1.1.1/saref4envi#> ; + owl:versionInfo "1.1.1" . + +s4envi:usesCommunicationInterface + a owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication interface it uses."@en ; + rdfs:label "uses communication interface"@en . + +s4envi:projectsLight a owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost or a light point and the light (or lights) they might project."@en ; + rdfs:label "projects light"@en . + +s4envi:DigitalRepresentation + a owl:Class ; + rdfs:comment "A digital representation encapsulates a physical object accessible via Web services"@en ; + rdfs:label "Digital representation"@en ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4envi:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasName + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:encapsulates + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:dateTime ; + owl:onProperty s4envi:hasCreationDate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4envi:hasTag + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Service ; + owl:onProperty s4envi:isAccesibleThrough + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime ; + owl:onProperty s4envi:hasCreationDate + ] ; + owl:disjointWith saref:UnitOfMeasure , s4envi:Geometry , s4envi:Light , saref:Measurement . + +s4envi:hasLightPoint a owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost and its light points"@en ; + rdfs:label "has light point"@en . + +saref:Service a owl:Class ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service, the function(s) to be represented, and the (input and output) parameters necessary to operate the service."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Service"@en ; + owl:disjointWith saref:UnitOfMeasure . + +s4envi:isProjectedInDirection + a owl:ObjectProperty ; + rdfs:comment "A relation between a light and the direction in which it is projected."@en ; + rdfs:label "is projected in direction"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/decimetre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Decimetre"@en . + +saref:Sensor a owl:Class ; + rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes.\nA device that has category saref:Sensor and performs a saref:SensingFunction."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en ; + rdfs:subClassOf saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Measurement ; + owl:onProperty saref:makesMeasurement + ] . + +s4envi:encapsulates a owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a digital representation and the physical objects it represents."@en ; + rdfs:label "encapsulates"@en ; + owl:inverseOf s4envi:hasDigitalRepresentation . + +s4envi:Phosphorescence + a s4envi:LightProperty , owl:NamedIndividual ; + rdfs:comment "An individual representing the light property phosphorescence."@en ; + rdfs:label "Phosphorescence"@en . + +saref:Property a owl:Class ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:label "Property"@en ; + owl:disjointWith saref:UnitOfMeasure , saref:Service . + +s4envi:PhysicalObject + a owl:Class ; + rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en ; + rdfs:subClassOf geo:SpatialThing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty saref:hasDescription + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:isContainedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:DigitalRepresentation ; + owl:onProperty s4envi:hasDigitalRepresentation + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4envi:PhysicalObject ; + owl:onProperty s4envi:contains + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom geo:SpatialThing ; + owl:onProperty geo:location + ] . + +saref:hasManufacturer + a owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer"@en . + +time:TemporalUnit a owl:Class ; + rdfs:comment "A temporal unit of measure, which provides a scale factor for a time quantity."@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Temporal unit"@en ; + rdfs:subClassOf saref:UnitOfMeasure . + +s4envi:isConnectedTo a owl:SymmetricProperty , owl:ObjectProperty ; + rdfs:comment "A relation between a system and the system to which it is connected."@en ; + rdfs:label "is connected to"@en . + +s4envi:PeriodMeasurement + a owl:Class ; + rdfs:comment "Represents the measured value over a period property. It is also linked to the period unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Period measurement"@en ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass time:TemporalUnit ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:hasValue s4envi:Period ; + owl:onProperty saref:relatesToProperty + ] . + +<http://www.wurvoc.org/vocabularies/om-1.8/millimetre> + a s4envi:LengthUnit , owl:NamedIndividual ; + rdfs:label "Milimetre"@en . + +s4envi:isProjectedFromHeight + a owl:ObjectProperty ; + rdfs:comment "A relation between a light and the height measurement from which it is projected."@en ; + rdfs:label "is projected from height"@en . + +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year> + a s4envi:FrequencyUnit , owl:NamedIndividual ; + rdfs:label "Reciprocal year"@en . + +saref:Device a owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en . diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.rdf b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.rdf new file mode 100644 index 0000000000000000000000000000000000000000..108b5a454e2210e4c0690457461ae95683395780 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.rdf @@ -0,0 +1,1104 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:s4envi="https://saref.etsi.org/saref4envi#" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4envi#"> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4envi/v1.1.1/saref4envi#"/> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341002/01.01.01_60/ts_10341002v010101p.pdf"/> + <dcterms:title xml:lang="en">SAREF extension for environment</dcterms:title> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <vann:preferredNamespacePrefix>s4envi</vann:preferredNamespacePrefix> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4envi/"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4envi#</vann:preferredNamespaceUri> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:description xml:lang="en">This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc.</dcterms:description> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LightPoint"> + <rdfs:label xml:lang="en">Light point</rdfs:label> + <rdfs:comment xml:lang="en">An spatial point from where a light is projected. It might belong to a lamppost.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#projectsLight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#TESS"> + <rdfs:label xml:lang="en">TESS (Telescope Encoder and Sky Sensor)</rdfs:label> + <rdfs:comment xml:lang="en">The Telescope Encoder and Sky Sensor (TESS) is a Sky Brightness and Cloud detector developed as a device for a remote observatory. A TESS can observe the light magnitude and other properties as ambient temperature and sky temperature.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Photometer"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CommunicationInterface"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from "Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.")</rdfs:comment> + <rdfs:label xml:lang="en">Communication interface</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CompassDirection"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Service"> + <rdfs:label xml:lang="en">Service</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service, the function(s) to be represented, and the (input and output) parameters necessary to operate the service.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CommunicationProtocol"> + <rdfs:label xml:lang="en">Communication protocol</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CompassDirection"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from "Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.")</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <rdfs:label xml:lang="en">Measurement</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#FrequencyMeasurement"> + <rdfs:label xml:lang="en">Frequency measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a frequency property. It is also linked to the frequency unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#FrequencyUnit"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Property rdf:about="https://saref.etsi.org/saref4envi#Frequency"> + <rdfs:label xml:lang="en">Frequency</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the property frequency.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Property> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Photometer"> + <rdfs:label xml:lang="en">Photometer</rdfs:label> + <rdfs:comment xml:lang="en">A photometer, generally, is an instrument that measures light intensity or optical properties of solutions or surfaces.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LightProperty"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PeriodMeasurement"> + <rdfs:label xml:lang="en">Period measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value over a period property. It is also linked to the period unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalUnit"/> + </owl:onClass> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Property rdf:about="https://saref.etsi.org/saref4envi#Period"> + <rdfs:label xml:lang="en">Period</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the property period.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Property> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#UnitOfMeasure"> + <rdfs:label xml:lang="en">Unit of measure</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called "watt". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#CompassDirection"> + <rdfs:label xml:lang="en">Compass direction</rdfs:label> + <rdfs:comment xml:lang="en">The four cardinal directions or cardinal points are the directions of north, east, south, and west, commonly denoted by their initials: N, E, S, W. East and west are at right angles to north and south, with east being in the clockwise direction of rotation from north and west being directly opposite east. Intermediate points between the four cardinal directions form the points of the compass. (definition taken from https://en.wikipedia.org/wiki/Cardinal_direction)</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LightProperty"> + <rdfs:label xml:lang="en">Light property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of light that can be observable by a sensor.</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Color"> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationInterface"/> + <rdfs:label xml:lang="en">Color</rdfs:label> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CompassDirection"/> + <rdfs:comment xml:lang="en">Color of the emitted light. It might be indicated by named colors or using other type of color values like hexadecimal for RGB, color temperature, etc.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Device"> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function.</rdfs:comment> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Geometry"> + <rdfs:label xml:lang="en">Geometry</rdfs:label> + <rdfs:comment xml:lang="en">Represents the shape of the light emission. It might be instantiated by individuals like "spherical", "cylindrical", etc. even though it is open to more comples representation of geometries using other vocabularies.</rdfs:comment> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"/> + </owl:disjointWith> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Device"> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Device</rdfs:label> + <rdfs:comment xml:lang="en">A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment. For example ‘a measuring device’ (definition taken from https://en.oxforddictionaries.com/definition/device). In this ontology it refers to the devices for environmental purposes.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasRevisionNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#System"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasRevisionNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#PeriodMeasurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasTransmissionPeriod"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#FrequencyMeasurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasFrequencyMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasManufacturer"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Actuator"> + <rdfs:label xml:lang="en">Actuator</rdfs:label> + <rdfs:comment xml:lang="en">Device that can act over at least one property.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#affectsProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4envi#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#FrequencyUnit"> + <rdfs:label xml:lang="en">Frequency unit</rdfs:label> + <rdfs:comment xml:lang="en">Unit of measure for the quantity frequency.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes.</rdfs:comment> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + <rdfs:label xml:lang="en">Spatial thing</rdfs:label> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CommunicationInterface"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Color"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#CompassDirection"/> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Geometry"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#LengthUnit"> + <rdfs:label xml:lang="en">Length unit</rdfs:label> + <rdfs:comment xml:lang="en">Unit of measure for the quantity lenght.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#System"> + <rdfs:label xml:lang="en">System</rdfs:label> + <rdfs:comment xml:lang="en">A group of related hardware units or programs or both, especially when dedicated to a single application. (Definition taken from https://en.oxforddictionaries.com/definition/system)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#CommunicationProtocol"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationProtocol"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#CommunicationInterface"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationInterface"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#System"/> + <owl:onProperty> + <owl:SymmetricProperty rdf:about="https://saref.etsi.org/saref4envi#isConnectedTo"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#System"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#isComponentOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#System"/> + <owl:onProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#hasComponent"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#HeightMeasurement"> + <rdfs:label xml:lang="en">Height measurement</rdfs:label> + <rdfs:comment xml:lang="en">Represents the measured value made over a height property. It is also linked to the height unit of measure in which the value is expressed and the timestamp of the measurement.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4envi#LengthUnit"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:hasValue> + <saref:Property rdf:about="https://saref.etsi.org/saref4envi#Height"> + <rdfs:label xml:lang="en">Height</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the property height.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </saref:Property> + </owl:hasValue> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Light"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#HeightMeasurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedFromHeight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:disjointWith> + <rdfs:comment xml:lang="en">A light source, which may be a lantern, a street light, a floodlight, a signal lamp or any other device whose primary purpose is the generation of light. (Definition taken from http://wiki.openstreetmap.org/wiki/Proposed_features/Key:light_source#Description)</rdfs:comment> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <rdfs:label xml:lang="en">Light</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#Color"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasColor"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#Geometry"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasGeometry"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasFlash"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#CompassDirection"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedInDirection"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasProjectionAngle"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Sensor"> + <rdfs:label xml:lang="en">Sensor</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Device"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#DigitalRepresentation"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <rdfs:comment xml:lang="en">A digital representation encapsulates a physical object accessible via Web services</rdfs:comment> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Geometry"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#encapsulates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasCreationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label xml:lang="en">Digital representation</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasTag"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <owl:disjointWith rdf:resource="https://saref.etsi.org/saref4envi#Light"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Measurement"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://w3id.org/saref#Service"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#isAccesibleThrough"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasCreationDate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Property"> + <rdfs:label xml:lang="en">Property</rdfs:label> + <rdfs:comment xml:lang="en">An aspect of an entity that can be observable by a sensor.</rdfs:comment> + <owl:disjointWith rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + <owl:disjointWith rdf:resource="https://w3id.org/saref#Service"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#PhysicalObject"> + <rdfs:label xml:lang="en">Physical object</rdfs:label> + <rdfs:comment xml:lang="en">Any Object that has a proper space region. (Definition extracted from DUL ontology)</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#PhysicalObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#DigitalRepresentation"/> + <owl:onProperty> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasDigitalRepresentation"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#PhysicalObject"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#contains"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2006/time#TemporalUnit"> + <rdfs:label xml:lang="en">Temporal unit</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2006/time#"/> + <rdfs:comment xml:lang="en">A temporal unit of measure, which provides a scale factor for a time quantity.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#UnitOfMeasure"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4envi#Lamppost"> + <rdfs:label xml:lang="en">Lamppost</rdfs:label> + <rdfs:comment xml:lang="en">A tall pole with a light at the top.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasShield"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#Light"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#projectsLight"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4envi#LightPoint"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasLightPoint"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4envi#Device"/> + </owl:Class> + <owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#Point"> + <rdfs:label xml:lang="en">Point</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment xml:lang="en">A point, typically described using a coordinate system relative to Earth, such as WGS84. Uniquely identified by lat/long/alt. i.e. spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), at(P2, LAT), long(P2, LONG), alt(P2, ALT). sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).</rdfs:comment> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedFromHeight"> + <rdfs:label xml:lang="en">is projected from height</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light and the height measurement from which it is projected.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasColor"> + <rdfs:label xml:lang="en">has color</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light emitted and its color.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasGeometry"> + <rdfs:label xml:lang="en">has geometry</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light emitted and the shape it is projected in.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#location"> + <rdfs:label xml:lang="en">location</rdfs:label> + <rdfs:isDefinedBy rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#"/> + <rdfs:comment xml:lang="en">The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping .</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasLightPoint"> + <rdfs:label xml:lang="en">has light point</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a lamppost and its light points</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#affectsProperty"> + <rdfs:label xml:lang="en">affects property</rdfs:label> + <rdfs:comment xml:lang="en">A relation between an actuator with the property or properties it can act on</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#contains"> + <rdfs:label xml:lang="en">contains</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical object and the physical objects that can be contained in it.</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationInterface"> + <rdfs:label xml:lang="en">uses communication interface</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the communication interface it uses.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"> + <rdfs:label xml:lang="en">measures property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a sensor and the property o properties it can take measurement about.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasTransmissionPeriod"> + <rdfs:label xml:lang="en">has transmission period</rdfs:label> + <rdfs:comment xml:lang="en">The relation between a device and the period in which it transmit information.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"> + <rdfs:label xml:lang="en">makes measurement</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a sensor and the measurements it makes. Such measurement will link together the valur of the measurement, its unit of measure and the property to which it relates.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#isMeasuredIn"> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">is measured in</rdfs:comment> + <rdfs:comment xml:lang="en">A relation between a measurement and the unit of measure in which the measurement value is expressed.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#hasFrequencyMeasurement"> + <rdfs:label xml:lang="en">has frequency measurement</rdfs:label> + <rdfs:comment xml:lang="en">The relation between a device and the frequency in which it makes measurements.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#usesCommunicationProtocol"> + <rdfs:label xml:lang="en">uses communication protocol</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the communication protocol it uses.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#projectsLight"> + <rdfs:label xml:lang="en">projects light</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a lamppost or a light point and the light (or lights) they might project.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isProjectedInDirection"> + <rdfs:label xml:lang="en">is projected in direction</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a light and the direction in which it is projected.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4envi#isContainedIn"> + <rdfs:label xml:lang="en">is contained in</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical object and the physical object in which it might be contained.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#relatesToProperty"> + <rdfs:label xml:lang="en">relates to property</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relation between a measurement and the property such measurement is about.</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasValue"> + <rdfs:label xml:lang="en">has value</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship defining the value of a certain property, e.g., energy or power</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasDescription"> + <rdfs:label xml:lang="en">has description</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship providing a description of an entity (e.g., device)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasTag"> + <rdfs:label xml:lang="en">has tag</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating the tags that can be assigned to an entity (e.g., a digital representation).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasName"> + <rdfs:label xml:lang="en">has name</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship providing the name of an entity (e.g., device)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasRevisionNumber"> + <rdfs:label xml:lang="en">has revision number</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the revision number of a certain entity (e.g., a device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://w3id.org/saref#hasManufacturer"> + <rdfs:label xml:lang="en">has manufacturer</rdfs:label> + <rdfs:isDefinedBy rdf:resource="https://w3id.org/saref#"/> + <rdfs:comment xml:lang="en">A relationship identifying the manufacturer of an entity (e.g., device)</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4envi#hasIdentifier"> + <rdfs:label xml:lang="en">has identifier</rdfs:label> + <rdfs:comment xml:lang="en">A relationship providing the identifier of an entity (e.g., digital representation)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#isComponentOf"> + <rdfs:label xml:lang="en">is component of</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the system it belongs to as a component.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/saref4envi#hasComponent"> + <rdfs:label xml:lang="en">has component</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the system in which it might be decomposed.</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4envi#isComponentOf"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:SymmetricProperty rdf:about="https://saref.etsi.org/saref4envi#isConnectedTo"> + <rdfs:label xml:lang="en">is connected to</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a system and the system to which it is connected.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:SymmetricProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasFlash"> + <rdfs:label xml:lang="en">has flash</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating whether a light has flash.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#encapsulates"> + <rdfs:label xml:lang="en">encapsulates</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a digital representation and the physical objects it represents.</rdfs:comment> + <owl:inverseOf> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasDigitalRepresentation"/> + </owl:inverseOf> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasVersion"> + <rdfs:label xml:lang="en">has version</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the version of a certain entity (e.g., a device)</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://w3id.org/saref#hasTimestamp"> + <rdfs:label xml:lang="en">has timestamp</rdfs:label> + <rdfs:isDefinedBy>https://w3id.org/saref#</rdfs:isDefinedBy> + <rdfs:comment xml:lang="en">A relationship stating the timestamp of an entity (e.g. a measurement).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#isAccesibleThrough"> + <rdfs:label xml:lang="en">is accesible through</rdfs:label> + <rdfs:comment xml:lang="en">The relation between a digital representation and the service which it is accesible through.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasShield"> + <rdfs:label xml:lang="en">has shield</rdfs:label> + <rdfs:comment xml:lang="en">A relationship stating whether a lamppost has a shield.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasCreationDate"> + <rdfs:label xml:lang="en">has creation date</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the creation date of an entity (e.g., a digital representation).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasProjectionAngle"> + <rdfs:label xml:lang="en">has projection angle</rdfs:label> + <rdfs:comment xml:lang="en">A relationship defining the projection angle of an entity (e.g., a light).</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + </owl:FunctionalProperty> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/saref4envi#hasDigitalRepresentation"> + <rdfs:label xml:lang="en">has digital representation</rdfs:label> + <rdfs:comment xml:lang="en">A relation between a physical object and the digital representation in which it is encapsulated.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:InverseFunctionalProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/millimetre"> + <rdfs:label xml:lang="en">Milimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/kilometre"> + <rdfs:label xml:lang="en">Kilometre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#LightAbsorption"> + <rdfs:label xml:lang="en">Light absorption</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property light absorption.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year"> + <rdfs:label xml:lang="en">Reciprocal year</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Illuminance"> + <rdfs:label xml:lang="en">Illuminance</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property illuminance.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/decimetre"> + <rdfs:label xml:lang="en">Decimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#ScatteringOfLight"> + <rdfs:label xml:lang="en">Scattering of light</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property scattering of light.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day"> + <rdfs:label xml:lang="en">Reciprocal day</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/hertz"> + <rdfs:label xml:lang="en">Hertz</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#LightMagnitude"> + <rdfs:label xml:lang="en">Light magnitude</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property light magnitude.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/centimetre"> + <rdfs:label xml:lang="en">Centimetre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#ReflectionOfLight"> + <rdfs:label xml:lang="en">Reflection of light</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property reflection of light.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Fluorescence"> + <rdfs:label xml:lang="en">Fluorescence</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property fluorescence.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time"> + <rdfs:label xml:lang="en">Reciprocal second</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Luminiscence"> + <rdfs:label xml:lang="en">Luminiscence</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property luminiscence.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:FrequencyUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour"> + <rdfs:label xml:lang="en">Reciprocal hour</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:FrequencyUnit> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Irradiance"> + <rdfs:label xml:lang="en">Irradiance</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property irradiance.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LightProperty rdf:about="https://saref.etsi.org/saref4envi#Phosphorescence"> + <rdfs:label xml:lang="en">Phosphorescence</rdfs:label> + <rdfs:comment xml:lang="en">An individual representing the light property phosphorescence.</rdfs:comment> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LightProperty> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/decametre"> + <rdfs:label xml:lang="en">Decametre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/hectometre"> + <rdfs:label xml:lang="en">Hectometre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> + <s4envi:LengthUnit rdf:about="http://www.wurvoc.org/vocabularies/om-1.8/metre"> + <rdfs:label xml:lang="en">Metre</rdfs:label> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/> + </s4envi:LengthUnit> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.ttl b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.ttl new file mode 100644 index 0000000000000000000000000000000000000000..a1fc97b5656cd784b9f4eed2448bc2f1d9c8b7b0 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4envi/v1.1.1/saref4envi.ttl @@ -0,0 +1,960 @@ +@prefix s4envi: <https://saref.etsi.org/saref4envi#> . +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@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#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix saref: <https://w3id.org/saref#> . +@prefix dcterms: <http://purl.org/dc/terms/> . + +<https://saref.etsi.org/saref4envi#> a owl:Ontology ; + dcterms:title "SAREF extension for environment"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4envi/v1.1.1/saref4envi#> ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4envi#" ; + vann:preferredNamespacePrefix "s4envi" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341002/01.01.01_60/ts_10341002v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4envi/> ; + dcterms:description "This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc."@en ; + dcterms:publisher <https://www.etsi.org/> . + +################################################################# +# Object Properties +################################################################# + +### http://www.w3.org/2003/01/geo/wgs84_pos#location +geo:location rdf:type owl:ObjectProperty ; + rdfs:comment "The relation between something and the point, or other geometrical thing in space, where it is. For example, the realtionship between a radio tower and a Point with a given lat and long. Or a relationship between a park and its outline as a closed arc of points, or a road and its location as a arc (a sequence of points). Clearly in practice there will be limit to the accuracy of any such statement, but one would expect an accuracy appropriate for the size of the object and uses such as mapping ."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "location"@en . + + +### https://saref.etsi.org/saref4envi#affectsProperty +s4envi:affectsProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between an actuator with the property or properties it can act on"@en ; + rdfs:label "affects property"@en . + + +### https://saref.etsi.org/saref4envi#contains +s4envi:contains rdf:type owl:ObjectProperty ; + owl:inverseOf s4envi:isContainedIn ; + rdfs:comment "A relation between a physical object and the physical objects that can be contained in it."@en ; + rdfs:label "contains"@en . + + +### https://saref.etsi.org/saref4envi#encapsulates +s4envi:encapsulates rdf:type owl:ObjectProperty ; + owl:inverseOf s4envi:hasDigitalRepresentation ; + rdf:type owl:FunctionalProperty ; + rdfs:comment "A relation between a digital representation and the physical objects it represents."@en ; + rdfs:label "encapsulates"@en . + + +### https://saref.etsi.org/saref4envi#hasColor +s4envi:hasColor rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and its color."@en ; + rdfs:label "has color"@en . + + +### https://saref.etsi.org/saref4envi#hasComponent +s4envi:hasComponent rdf:type owl:ObjectProperty ; + owl:inverseOf s4envi:isComponentOf ; + rdf:type owl:TransitiveProperty ; + rdfs:comment "A relation between a system and the system in which it might be decomposed."@en ; + rdfs:label "has component"@en . + + +### https://saref.etsi.org/saref4envi#hasDigitalRepresentation +s4envi:hasDigitalRepresentation rdf:type owl:ObjectProperty , + owl:InverseFunctionalProperty ; + rdfs:comment "A relation between a physical object and the digital representation in which it is encapsulated."@en ; + rdfs:label "has digital representation"@en . + + +### https://saref.etsi.org/saref4envi#hasFrequencyMeasurement +s4envi:hasFrequencyMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "The relation between a device and the frequency in which it makes measurements."@en ; + rdfs:label "has frequency measurement"@en . + + +### https://saref.etsi.org/saref4envi#hasGeometry +s4envi:hasGeometry rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light emitted and the shape it is projected in."@en ; + rdfs:label "has geometry"@en . + + +### https://saref.etsi.org/saref4envi#hasLightPoint +s4envi:hasLightPoint rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost and its light points"@en ; + rdfs:label "has light point"@en . + + +### https://saref.etsi.org/saref4envi#hasTransmissionPeriod +s4envi:hasTransmissionPeriod rdf:type owl:ObjectProperty ; + rdfs:comment "The relation between a device and the period in which it transmit information."@en ; + rdfs:label "has transmission period"@en . + + +### https://saref.etsi.org/saref4envi#isAccesibleThrough +s4envi:isAccesibleThrough rdf:type owl:ObjectProperty , + owl:FunctionalProperty ; + rdfs:comment "The relation between a digital representation and the service which it is accesible through."@en ; + rdfs:label "is accesible through"@en . + + +### https://saref.etsi.org/saref4envi#isComponentOf +s4envi:isComponentOf rdf:type owl:ObjectProperty , + owl:TransitiveProperty ; + rdfs:comment "A relation between a system and the system it belongs to as a component."@en ; + rdfs:label "is component of"@en . + + +### https://saref.etsi.org/saref4envi#isConnectedTo +s4envi:isConnectedTo rdf:type owl:ObjectProperty , + owl:SymmetricProperty ; + rdfs:comment "A relation between a system and the system to which it is connected."@en ; + rdfs:label "is connected to"@en . + + +### https://saref.etsi.org/saref4envi#isContainedIn +s4envi:isContainedIn rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a physical object and the physical object in which it might be contained."@en ; + rdfs:label "is contained in"@en . + + +### https://saref.etsi.org/saref4envi#isProjectedFromHeight +s4envi:isProjectedFromHeight rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light and the height measurement from which it is projected."@en ; + rdfs:label "is projected from height"@en . + + +### https://saref.etsi.org/saref4envi#isProjectedInDirection +s4envi:isProjectedInDirection rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a light and the direction in which it is projected."@en ; + rdfs:label "is projected in direction"@en . + + +### https://saref.etsi.org/saref4envi#projectsLight +s4envi:projectsLight rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a lamppost or a light point and the light (or lights) they might project."@en ; + rdfs:label "projects light"@en . + + +### https://saref.etsi.org/saref4envi#usesCommunicationInterface +s4envi:usesCommunicationInterface rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication interface it uses."@en ; + rdfs:label "uses communication interface"@en . + + +### https://saref.etsi.org/saref4envi#usesCommunicationProtocol +s4envi:usesCommunicationProtocol rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a system and the communication protocol it uses."@en ; + rdfs:label "uses communication protocol"@en . + + +### https://w3id.org/saref#isMeasuredIn +saref:isMeasuredIn rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the unit of measure in which the measurement value is expressed."@en , + "is measured in"@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" . + + +### https://w3id.org/saref#makesMeasurement +saref:makesMeasurement rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the measurements it makes. Such measurement will link together the valur of the measurement, its unit of measure and the property to which it relates."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "makes measurement"@en . + + +### https://w3id.org/saref#measuresProperty +saref:measuresProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a sensor and the property o properties it can take measurement about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "measures property"@en . + + +### https://w3id.org/saref#relatesToProperty +saref:relatesToProperty rdf:type owl:ObjectProperty ; + rdfs:comment "A relation between a measurement and the property such measurement is about."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "relates to property"@en . + + +################################################################# +# Data properties +################################################################# + +### https://saref.etsi.org/saref4envi#hasCreationDate +s4envi:hasCreationDate rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relationship defining the creation date of an entity (e.g., a digital representation)."@en ; + rdfs:label "has creation date"@en . + + +### https://saref.etsi.org/saref4envi#hasFlash +s4envi:hasFlash rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "A relationship stating whether a light has flash."@en ; + rdfs:label "has flash"@en . + + +### https://saref.etsi.org/saref4envi#hasIdentifier +s4envi:hasIdentifier rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship providing the identifier of an entity (e.g., digital representation)"@en ; + rdfs:label "has identifier"@en . + + +### https://saref.etsi.org/saref4envi#hasProjectionAngle +s4envi:hasProjectionAngle rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:float ; + rdfs:comment "A relationship defining the projection angle of an entity (e.g., a light)."@en ; + rdfs:label "has projection angle"@en . + + +### https://saref.etsi.org/saref4envi#hasRevisionNumber +s4envi:hasRevisionNumber rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship defining the revision number of a certain entity (e.g., a device)"@en ; + rdfs:label "has revision number"@en . + + +### https://saref.etsi.org/saref4envi#hasShield +s4envi:hasShield rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:boolean ; + rdfs:comment "A relationship stating whether a lamppost has a shield."@en ; + rdfs:label "has shield"@en . + + +### https://saref.etsi.org/saref4envi#hasTag +s4envi:hasTag rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship stating the tags that can be assigned to an entity (e.g., a digital representation)."@en ; + rdfs:label "has tag"@en . + + +### https://saref.etsi.org/saref4envi#hasVersion +s4envi:hasVersion rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relationship defining the version of a certain entity (e.g., a device)"@en ; + rdfs:label "has version"@en . + + +### https://w3id.org/saref#hasDescription +saref:hasDescription rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship providing a description of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has description"@en . + + +### https://w3id.org/saref#hasManufacturer +saref:hasManufacturer rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has manufacturer"@en . + + +### https://w3id.org/saref#hasName +saref:hasName rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship providing the name of an entity (e.g., device)"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has name"@en . + + +### https://w3id.org/saref#hasTimestamp +saref:hasTimestamp rdf:type owl:DatatypeProperty , + owl:FunctionalProperty ; + rdfs:range xsd:dateTime ; + rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ; + rdfs:isDefinedBy "https://w3id.org/saref#" ; + rdfs:label "has timestamp"@en . + + +### https://w3id.org/saref#hasValue +saref:hasValue rdf:type owl:DatatypeProperty ; + rdfs:comment "A relationship defining the value of a certain property, e.g., energy or power"@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "has value"@en . + + +################################################################# +# Classes +################################################################# + +### http://www.w3.org/2003/01/geo/wgs84_pos#Point +geo:Point rdf:type owl:Class ; + rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84. Uniquely identified by lat/long/alt. i.e. spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT), at(P2, LAT), long(P2, LONG), alt(P2, ALT). sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2)."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Point"@en . + + +### http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing +geo:SpatialThing rdf:type owl:Class ; + owl:disjointWith s4envi:Color , + s4envi:CommunicationInterface , + s4envi:CommunicationProtocol , + s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + saref:Measurement , + saref:Service ; + rdfs:comment "Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes."@en ; + rdfs:isDefinedBy geo: ; + rdfs:label "Spatial thing"@en . + + +### http://www.w3.org/2006/time#TemporalUnit +time:TemporalUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "A temporal unit of measure, which provides a scale factor for a time quantity."@en ; + rdfs:isDefinedBy time: ; + rdfs:label "Temporal unit"@en . + + +### https://saref.etsi.org/saref4envi#Actuator +s4envi:Actuator rdf:type owl:Class ; + rdfs:subClassOf s4envi:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:affectsProperty ; + owl:allValuesFrom saref:Property + ] ; + rdfs:comment "Device that can act over at least one property."@en ; + rdfs:label "Actuator"@en . + + +### https://saref.etsi.org/saref4envi#Color +s4envi:Color rdf:type owl:Class ; + owl:disjointWith s4envi:CommunicationInterface , + s4envi:CommunicationProtocol , + s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "Color of the emitted light. It might be indicated by named colors or using other type of color values like hexadecimal for RGB, color temperature, etc."@en ; + rdfs:label "Color"@en . + + +### https://saref.etsi.org/saref4envi#CommunicationInterface +s4envi:CommunicationInterface rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + owl:disjointWith s4envi:CommunicationProtocol , + s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:Property , + saref:UnitOfMeasure ; + rdfs:comment "An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication interface"@en . + + +### https://saref.etsi.org/saref4envi#CommunicationProtocol +s4envi:CommunicationProtocol rdf:type owl:Class ; + owl:disjointWith s4envi:CompassDirection , + s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ; + rdfs:label "Communication protocol"@en . + + +### https://saref.etsi.org/saref4envi#CompassDirection +s4envi:CompassDirection rdf:type owl:Class ; + owl:disjointWith s4envi:DigitalRepresentation , + s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "The four cardinal directions or cardinal points are the directions of north, east, south, and west, commonly denoted by their initials: N, E, S, W. East and west are at right angles to north and south, with east being in the clockwise direction of rotation from north and west being directly opposite east. Intermediate points between the four cardinal directions form the points of the compass. (definition taken from https://en.wikipedia.org/wiki/Cardinal_direction)"@en ; + rdfs:label "Compass direction"@en . + + +### https://saref.etsi.org/saref4envi#Device +s4envi:Device rdf:type owl:Class ; + rdfs:subClassOf s4envi:System , + saref:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasFrequencyMeasurement ; + owl:allValuesFrom s4envi:FrequencyMeasurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasTransmissionPeriod ; + owl:allValuesFrom s4envi:PeriodMeasurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isContainedIn ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasRevisionNumber ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasManufacturer ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasRevisionNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasVersion ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "A thing made or adapted for a particular purpose, especially a piece of mechanical or electronic equipment. For example ‘a measuring device’ (definition taken from https://en.oxforddictionaries.com/definition/device). In this ontology it refers to the devices for environmental purposes."@en ; + rdfs:label "Device"@en . + + +### https://saref.etsi.org/saref4envi#DigitalRepresentation +s4envi:DigitalRepresentation rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4envi:encapsulates ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isAccesibleThrough ; + owl:allValuesFrom saref:Service + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasCreationDate ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasIdentifier ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasTag ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasName ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasCreationDate ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasIdentifier ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + owl:disjointWith s4envi:Geometry , + s4envi:Light , + saref:Measurement , + saref:UnitOfMeasure ; + rdfs:comment "A digital representation encapsulates a physical object accessible via Web services"@en ; + rdfs:label "Digital representation"@en . + + +### https://saref.etsi.org/saref4envi#FrequencyMeasurement +s4envi:FrequencyMeasurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:hasValue s4envi:Frequency + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4envi:FrequencyUnit + ] ; + rdfs:comment "Represents the measured value made over a frequency property. It is also linked to the frequency unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Frequency measurement"@en . + + +### https://saref.etsi.org/saref4envi#FrequencyUnit +s4envi:FrequencyUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "Unit of measure for the quantity frequency."@en ; + rdfs:label "Frequency unit"@en . + + +### https://saref.etsi.org/saref4envi#Geometry +s4envi:Geometry rdf:type owl:Class ; + owl:disjointWith s4envi:Light , + saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "Represents the shape of the light emission. It might be instantiated by individuals like \"spherical\", \"cylindrical\", etc. even though it is open to more comples representation of geometries using other vocabularies."@en ; + rdfs:label "Geometry"@en . + + +### https://saref.etsi.org/saref4envi#HeightMeasurement +s4envi:HeightMeasurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:hasValue s4envi:Height + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4envi:LengthUnit + ] ; + rdfs:comment "Represents the measured value made over a height property. It is also linked to the height unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Height measurement"@en . + + +### https://saref.etsi.org/saref4envi#Lamppost +s4envi:Lamppost rdf:type owl:Class ; + rdfs:subClassOf s4envi:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasLightPoint ; + owl:allValuesFrom s4envi:LightPoint + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:projectsLight ; + owl:allValuesFrom s4envi:Light + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasShield ; + owl:allValuesFrom xsd:boolean + ] ; + rdfs:comment "A tall pole with a light at the top."@en ; + rdfs:label "Lamppost"@en . + + +### https://saref.etsi.org/saref4envi#LengthUnit +s4envi:LengthUnit rdf:type owl:Class ; + rdfs:subClassOf saref:UnitOfMeasure ; + rdfs:comment "Unit of measure for the quantity lenght."@en ; + rdfs:label "Length unit"@en . + + +### https://saref.etsi.org/saref4envi#Light +s4envi:Light rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasColor ; + owl:allValuesFrom s4envi:Color + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasGeometry ; + owl:allValuesFrom s4envi:Geometry + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isProjectedFromHeight ; + owl:allValuesFrom s4envi:HeightMeasurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isProjectedInDirection ; + owl:allValuesFrom s4envi:CompassDirection + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasFlash ; + owl:allValuesFrom xsd:boolean + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasProjectionAngle ; + owl:allValuesFrom xsd:float + ] ; + owl:disjointWith saref:Measurement , + saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "A light source, which may be a lantern, a street light, a floodlight, a signal lamp or any other device whose primary purpose is the generation of light. (Definition taken from http://wiki.openstreetmap.org/wiki/Proposed_features/Key:light_source#Description)"@en ; + rdfs:label "Light"@en . + + +### https://saref.etsi.org/saref4envi#LightPoint +s4envi:LightPoint rdf:type owl:Class ; + rdfs:subClassOf geo:Point , + [ rdf:type owl:Restriction ; + owl:onProperty geo:location ; + owl:allValuesFrom geo:SpatialThing + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:projectsLight ; + owl:allValuesFrom s4envi:Light + ] ; + rdfs:comment "An spatial point from where a light is projected. It might belong to a lamppost."@en ; + rdfs:label "Light point"@en . + + +### https://saref.etsi.org/saref4envi#LightProperty +s4envi:LightProperty rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "An aspect of light that can be observable by a sensor."@en ; + rdfs:label "Light property"@en . + + +### https://saref.etsi.org/saref4envi#PeriodMeasurement +s4envi:PeriodMeasurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:hasValue s4envi:Period + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass time:TemporalUnit + ] ; + rdfs:comment "Represents the measured value over a period property. It is also linked to the period unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Period measurement"@en . + + +### https://saref.etsi.org/saref4envi#Photometer +s4envi:Photometer rdf:type owl:Class ; + rdfs:subClassOf saref:Sensor , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:someValuesFrom s4envi:LightProperty + ] ; + rdfs:comment "A photometer, generally, is an instrument that measures light intensity or optical properties of solutions or surfaces."@en ; + rdfs:label "Photometer"@en . + + +### https://saref.etsi.org/saref4envi#PhysicalObject +s4envi:PhysicalObject rdf:type owl:Class ; + rdfs:subClassOf geo:SpatialThing , + [ rdf:type owl:Restriction ; + owl:onProperty geo:location ; + owl:allValuesFrom geo:SpatialThing + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:contains ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasDigitalRepresentation ; + owl:allValuesFrom s4envi:DigitalRepresentation + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isContainedIn ; + owl:allValuesFrom s4envi:PhysicalObject + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasDescription ; + owl:allValuesFrom xsd:string + ] ; + rdfs:comment "Any Object that has a proper space region. (Definition extracted from DUL ontology)"@en ; + rdfs:label "Physical object"@en . + + +### https://saref.etsi.org/saref4envi#System +s4envi:System rdf:type owl:Class ; + rdfs:subClassOf s4envi:PhysicalObject , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:hasComponent ; + owl:allValuesFrom s4envi:System + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isComponentOf ; + owl:allValuesFrom s4envi:System + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:isConnectedTo ; + owl:allValuesFrom s4envi:System + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:usesCommunicationInterface ; + owl:allValuesFrom s4envi:CommunicationInterface + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4envi:usesCommunicationProtocol ; + owl:allValuesFrom s4envi:CommunicationProtocol + ] ; + rdfs:comment "A group of related hardware units or programs or both, especially when dedicated to a single application. (Definition taken from https://en.oxforddictionaries.com/definition/system)"@en ; + rdfs:label "System"@en . + + +### https://saref.etsi.org/saref4envi#TESS +s4envi:TESS rdf:type owl:Class ; + rdfs:subClassOf s4envi:Photometer ; + rdfs:comment "The Telescope Encoder and Sky Sensor (TESS) is a Sky Brightness and Cloud detector developed as a device for a remote observatory. A TESS can observe the light magnitude and other properties as ambient temperature and sky temperature."@en ; + rdfs:label "TESS (Telescope Encoder and Sky Sensor)"@en . + + +### https://w3id.org/saref#Device +saref:Device rdf:type owl:Class ; + rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Device"@en . + + +### https://w3id.org/saref#Measurement +saref:Measurement rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:allValuesFrom saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isMeasuredIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:UnitOfMeasure + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:relatesToProperty ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasTimestamp ; + owl:allValuesFrom xsd:dateTime + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:allValuesFrom xsd:float + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasValue ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:float + ] ; + owl:disjointWith saref:Property , + saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ; + rdfs:label "Measurement"@en . + + +### https://w3id.org/saref#Property +saref:Property rdf:type owl:Class ; + owl:disjointWith saref:Service , + saref:UnitOfMeasure ; + rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ; + rdfs:label "Property"@en . + + +### https://w3id.org/saref#Sensor +saref:Sensor rdf:type owl:Class ; + rdfs:subClassOf saref:Device , + [ rdf:type owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom saref:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property + ] ; + rdfs:comment """A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. +A device that has category saref:Sensor and performs a saref:SensingFunction."""@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Sensor"@en . + + +### https://w3id.org/saref#Service +saref:Service rdf:type owl:Class ; + owl:disjointWith saref:UnitOfMeasure ; + rdfs:comment "A service is a representation of a function to a network that makes the function discoverable, registerable, remotely controllable by other devices in the network. A service can represent one or more functions. A Service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A Service must specify the device that is offering the service, the function(s) to be represented, and the (input and output) parameters necessary to operate the service."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Service"@en . + + +### https://w3id.org/saref#UnitOfMeasure +saref:UnitOfMeasure rdf:type owl:Class ; + rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ; + rdfs:isDefinedBy saref: ; + rdfs:label "Unit of measure"@en . + + +################################################################# +# Individuals +################################################################# + +### http://www.wurvoc.org/vocabularies/om-1.8/centimetre +<http://www.wurvoc.org/vocabularies/om-1.8/centimetre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Centimetre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/decametre +<http://www.wurvoc.org/vocabularies/om-1.8/decametre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Decametre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/decimetre +<http://www.wurvoc.org/vocabularies/om-1.8/decimetre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Decimetre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/hectometre +<http://www.wurvoc.org/vocabularies/om-1.8/hectometre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Hectometre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/hertz +<http://www.wurvoc.org/vocabularies/om-1.8/hertz> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Hertz"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/kilometre +<http://www.wurvoc.org/vocabularies/om-1.8/kilometre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Kilometre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/metre +<http://www.wurvoc.org/vocabularies/om-1.8/metre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Metre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/millimetre +<http://www.wurvoc.org/vocabularies/om-1.8/millimetre> rdf:type owl:NamedIndividual , + s4envi:LengthUnit ; + rdfs:label "Milimetre"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_day> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal day"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_hour> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal hour"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_second-time> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal second"@en . + + +### http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year +<http://www.wurvoc.org/vocabularies/om-1.8/reciprocal_year> rdf:type owl:NamedIndividual , + s4envi:FrequencyUnit ; + rdfs:label "Reciprocal year"@en . + + +### https://saref.etsi.org/saref4envi#Fluorescence +s4envi:Fluorescence rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property fluorescence."@en ; + rdfs:label "Fluorescence"@en . + + +### https://saref.etsi.org/saref4envi#Frequency +s4envi:Frequency rdf:type owl:NamedIndividual , + saref:Property ; + rdfs:comment "An individual representing the property frequency."@en ; + rdfs:label "Frequency"@en . + + +### https://saref.etsi.org/saref4envi#Height +s4envi:Height rdf:type owl:NamedIndividual , + saref:Property ; + rdfs:comment "An individual representing the property height."@en ; + rdfs:label "Height"@en . + + +### https://saref.etsi.org/saref4envi#Illuminance +s4envi:Illuminance rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property illuminance."@en ; + rdfs:label "Illuminance"@en . + + +### https://saref.etsi.org/saref4envi#Irradiance +s4envi:Irradiance rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property irradiance."@en ; + rdfs:label "Irradiance"@en . + + +### https://saref.etsi.org/saref4envi#LightAbsorption +s4envi:LightAbsorption rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property light absorption."@en ; + rdfs:label "Light absorption"@en . + + +### https://saref.etsi.org/saref4envi#LightMagnitude +s4envi:LightMagnitude rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property light magnitude."@en ; + rdfs:label "Light magnitude"@en . + + +### https://saref.etsi.org/saref4envi#Luminiscence +s4envi:Luminiscence rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property luminiscence."@en ; + rdfs:label "Luminiscence"@en . + + +### https://saref.etsi.org/saref4envi#Period +s4envi:Period rdf:type owl:NamedIndividual , + saref:Property ; + rdfs:comment "An individual representing the property period."@en ; + rdfs:label "Period"@en . + + +### https://saref.etsi.org/saref4envi#Phosphorescence +s4envi:Phosphorescence rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property phosphorescence."@en ; + rdfs:label "Phosphorescence"@en . + + +### https://saref.etsi.org/saref4envi#ReflectionOfLight +s4envi:ReflectionOfLight rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property reflection of light."@en ; + rdfs:label "Reflection of light"@en . + + +### https://saref.etsi.org/saref4envi#ScatteringOfLight +s4envi:ScatteringOfLight rdf:type owl:NamedIndividual , + s4envi:LightProperty ; + rdfs:comment "An individual representing the light property scattering of light."@en ; + rdfs:label "Scattering of light"@en . + + +### Generated by the OWL API (version 4.2.6.20160910-2108) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4inma/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4inma/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.html b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.html new file mode 100644 index 0000000000000000000000000000000000000000..61089edd644f1363bff077c8f481196a55986b0f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4INMA: an extension of SAREF for the industry and manufacturing domain</h1> + <p><strong>Official ETSI documentation for SAREF4INMA v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4INMA ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4INMA v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4inma.ttl">Turtle</a> or <a href="./saref4inma.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4inma#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.n3 b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.n3 new file mode 100644 index 0000000000000000000000000000000000000000..9b34fb131239cd1f552a0a362cafe7dd7af55171 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.n3 @@ -0,0 +1,518 @@ +@prefix s4inma: <https://saref.etsi.org/saref4inma#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +s4inma:ID a owl:Class ; + rdfs:comment "A unique identifier."^^rdfs:Literal ; + rdfs:label "Identifier" ; + rdfs:subClassOf skos:ConceptScheme ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:someValuesFrom xsd:string + ] . + +s4inma:hasGTIN13IDValue + a owl:DatatypeProperty ; + rdfs:label "has GTIN13ID value" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +s4inma:GTIN8ID a owl:Class ; + rdfs:comment "GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America."^^rdfs:Literal ; + rdfs:label "GTIN18ID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:ExpectedMeasurement + a owl:Class ; + rdfs:comment "Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement." ; + rdfs:label "Expected measurement" ; + rdfs:subClassOf s4inma:Measurement . + +s4inma:hasIdentifier a owl:ObjectProperty ; + rdfs:comment "link between an entity and its unique identifier" ; + rdfs:label "has identifier" ; + rdfs:range s4inma:ID . + +<https://w3id.org/def/s4bldg#PhysicalObject> + a owl:Class . + +saref:makesMeasurement + a owl:ObjectProperty . + +s4inma:Measurement a owl:Class ; + rdfs:comment "A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values." ; + rdfs:label "Measurement" ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( s4inma:Batch s4inma:Item ) + ] ; + owl:onProperty s4inma:hasFeatureOfInterest + ] . + +s4inma:Factory a owl:Class ; + rdfs:comment "A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. " ; + rdfs:label "Factory" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#Building> . + +s4inma:hasUpdate a owl:ObjectProperty ; + rdfs:comment "The newer version of a ItemCategory." ; + rdfs:label "has update" . + +saref:Measurement a owl:Class . + +saref:hasFunction a owl:ObjectProperty . + +s4inma:hasVersion a owl:DatatypeProperty ; + rdfs:comment "An item has a certain revision or version number, whereas a higher number indicates a newer version."^^rdfs:Literal ; + rdfs:label "has version" . + +dcterms:license a owl:AnnotationProperty . + +dcterms:source a owl:AnnotationProperty . + +s4inma:ProductionEquipmentFunction + a owl:Class ; + rdfs:label "Production equipment function" ; + rdfs:subClassOf saref:Function , owl:Thing . + +s4inma:isProducedBy a owl:ObjectProperty ; + rdfs:comment "Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines." ; + rdfs:label "is produced by" ; + owl:inverseOf s4inma:produces . + +s4inma:hasGTIN14IDValue + a owl:DatatypeProperty ; + rdfs:label "has GTIN14ID" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +<https://w3id.org/def/s4bldg#BuildingSpace> + a owl:Class . + +s4inma:ActualMeasurement + a owl:Class ; + rdfs:comment "Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement." ; + rdfs:label "Actual measurement" ; + rdfs:subClassOf s4inma:Measurement ; + owl:disjointWith s4inma:ExpectedMeasurement . + +s4inma:needsEquipment + a owl:ObjectProperty ; + rdfs:comment "A relationship indicating that an entity needs a particular equipment to be produced" ; + rdfs:label "needs equipment" . + +dcterms:created a owl:AnnotationProperty . + +skos:ConceptScheme a owl:Class . + +dcterms:creator a owl:AnnotationProperty . + +s4inma:WorkCenter a owl:Class ; + rdfs:comment "A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers." ; + rdfs:label "Work center" ; + rdfs:subClassOf s4inma:ProductionEquipment . + +dcterms:title a owl:AnnotationProperty . + +s4inma:hasGTIN8IDValue + a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +s4inma:isFeatureOfInterestOf + a owl:ObjectProperty ; + rdfs:label "is feature of interest of" . + +s4inma:UUID a owl:Class ; + rdfs:comment "A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 \"Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)\" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005." ; + rdfs:label "UUID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:hasUUID a owl:ObjectProperty ; + rdfs:label "has UUID" ; + rdfs:range s4inma:UUID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +saref:Function a owl:Class . + +saref:measuresProperty + a owl:ObjectProperty . + +dcterms:contributor a owl:AnnotationProperty . + +s4inma:MaterialCategory + a owl:Class ; + rdfs:comment "A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar." ; + rdfs:label "Material category" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:MaterialBatch ; + owl:onProperty s4inma:isCategoryOf + ] . + +dcterms:publisher a owl:AnnotationProperty . + +saref:State a owl:Class . + +s4inma:hasGTIN8ID a owl:ObjectProperty ; + rdfs:label "has GTIN8ID" ; + rdfs:range s4inma:GTIN8ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:hasIDValue a owl:DatatypeProperty ; + rdfs:comment "A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property " ; + rdfs:label "has identifier value" ; + rdfs:range xsd:string . + +s4inma:ProductionEquipmentCategory + a owl:Class ; + rdfs:comment "A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories."^^rdfs:Literal ; + rdfs:label "Production equipment category" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasModelNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipment ; + owl:onProperty s4inma:isCategoryOf + ] . + +s4inma:Item a owl:Class ; + rdfs:comment "A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies)."^^rdfs:Literal ; + rdfs:label "Item" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemBatch ; + owl:onProperty s4inma:isCreatedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4inma:ItemBatch ; + owl:onProperty s4inma:isCreatedIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Item ; + owl:onProperty s4inma:consistsOfItem + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasSerialNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Measurement ; + owl:onProperty s4inma:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4inma:hasIDValue + ] . + +s4inma:consistsOfBatch + a owl:ObjectProperty ; + rdfs:comment "A relation to express that a batch can recursively consists of other batches" ; + rdfs:label "consists of batch" . + +s4inma:hasFeatureOfInterest + a owl:ObjectProperty ; + rdfs:label "has feature of interest" ; + owl:inverseOf s4inma:isFeatureOfInterestOf . + +s4inma:Area a owl:Class ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s." ; + rdfs:label "Area" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> . + +s4inma:ItemBatch a owl:Class ; + rdfs:comment "A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag)."^^rdfs:Literal ; + rdfs:label "Item Batch" ; + rdfs:subClassOf s4inma:Batch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Item ; + owl:onProperty s4inma:creates + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemCategory ; + owl:onProperty s4inma:belongsToCategory + ] . + +saref:hasState a owl:ObjectProperty ; + rdfs:label "has state" . + +s4inma: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor "Alba Fernandez Izquierdo, UPM" , "Matthijs Punter, TNO" ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> , <http://www.garcia-castro.com/foaf.rdf#me> , <http://maxime-lefrancois.info/me#> , <https://www.linkedin.com/in/mderoode> , <http://purl.org/net/mpoveda> ; + dcterms:created "2015-03-29"^^xsd:date ; + dcterms:description "SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507. " ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2019-04-30"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341005/01.01.01_60/ts_10341005v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4s4inma/> ; + dcterms:title "SAREF4INMA: an extension of SAREF for the industry and manufacturing domain"@en ; + vann:preferredNamespacePrefix "s4inma" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4inma#" ; + owl:versionIRI <https://saref.etsi.org/saref4inma/v1.1.1/saref4inma#> ; + owl:versionInfo "1.1.1" . + +s4inma:hasGTIN14ID a owl:ObjectProperty ; + rdfs:label "has GTIN14ID" ; + rdfs:range s4inma:GTIN14ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:hasModelNumber + a owl:DatatypeProperty ; + rdfs:comment "A relation to express the model number of a certain object (item, product, equipment, etc.) " ; + rdfs:label "has model number" . + +s4inma:Site a owl:Class ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas" ; + rdfs:label "Site" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> . + +s4inma:hasGTIN13ID a owl:ObjectProperty ; + rdfs:label "has GTIN13ID" ; + rdfs:range s4inma:GTIN13ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +[ a owl:AllDisjointClasses ; + owl:members ( s4inma:Area s4inma:Site s4inma:WorkCenter ) +] . + +s4inma:isCategoryOf a owl:ObjectProperty ; + rdfs:label "is category of" . + +s4inma:produces a owl:ObjectProperty ; + rdfs:comment "ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)" ; + rdfs:label "produces" . + +s4inma:hasGTIN12ID a owl:ObjectProperty ; + rdfs:label "has GTIN12ID " ; + rdfs:range s4inma:GTIN12ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:creates a owl:ObjectProperty ; + rdfs:comment "A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)" ; + rdfs:label "creates" ; + owl:inverseOf s4inma:isCreatedIn . + +s4inma:Batch a owl:Class ; + rdfs:comment "A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). " ; + rdfs:label "Batch" ; + rdfs:subClassOf saref:FeatureOfInterest , owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipment ; + owl:onProperty s4inma:needsEquipment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Measurement ; + owl:onProperty s4inma:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Batch ; + owl:onProperty s4inma:consistsOfBatch + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4inma:Size ; + owl:onProperty s4inma:hasSize + ] . + +s4inma:ItemCategory a owl:Class ; + rdfs:comment "An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar." ; + rdfs:label "Item category" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemCategory ; + owl:onProperty s4inma:hasUpdate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemBatch ; + owl:onProperty s4inma:isCategoryOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasModelNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory ; + owl:onProperty s4inma:isProducedBy + ] . + +saref:FeatureOfInterest + a owl:Class . + +s4inma:hasUUIDValue a owl:DatatypeProperty ; + rdfs:label "has UUID value" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +<https://w3id.org/def/s4bldg#Building> + a owl:Class . + +s4inma:consistsOfItem + a owl:ObjectProperty ; + rdfs:comment "A relation to express that an item can recursively consists of other Items" ; + rdfs:label "consists of item" . + +dcterms:modified a owl:AnnotationProperty . + +s4inma:hasGTIN12IDValue + a owl:DatatypeProperty ; + rdfs:label "has GTIN12ID value" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +dcterms:issued a owl:AnnotationProperty . + +s4inma:hasIRDIValue a owl:DatatypeProperty ; + rdfs:label "has IRDI" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +owl:maxQualifiedCardinality + a owl:AnnotationProperty . + +s4inma:isCreatedIn a owl:ObjectProperty ; + rdfs:comment "An Item is created in an ItemBatch." ; + rdfs:label "is created in" . + +dcterms:description a owl:AnnotationProperty . + +s4inma:Size a owl:Class ; + rdfs:comment "The amount of certain objects in a collection (e.g., size of a material batch)." ; + rdfs:label "Size" ; + rdfs:subClassOf saref:Property . + +s4inma:MaterialBatch a owl:Class ; + rdfs:comment "A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch."^^rdfs:Literal ; + rdfs:label "Material Batch" ; + rdfs:subClassOf s4inma:Batch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4inma:hasCertificate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:MaterialCategory ; + owl:onProperty s4inma:belongsToCategory + ] . + +s4inma:GTIN14ID a owl:Class ; + rdfs:comment "GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels." ; + rdfs:label "GTIN14ID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:hasSize a owl:ObjectProperty ; + rdfs:comment "A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)" ; + rdfs:label "has size" . + +s4inma:hasCertificate + a owl:DatatypeProperty ; + rdfs:comment "The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate."^^rdfs:Literal ; + rdfs:label "has certificate" ; + rdfs:range xsd:string . + +saref:Property a owl:Class . + +s4inma:GTIN13ID a owl:Class ; + rdfs:comment "GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America" ; + rdfs:label "GTIN13ID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:IRDI a owl:Class ; + rdfs:comment "International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier."^^rdfs:Literal ; + rdfs:label "IRDI" ; + rdfs:subClassOf s4inma:ID . + +s4inma:hasIRDI a owl:ObjectProperty ; + rdfs:label "has IRDI" ; + rdfs:range s4inma:IRDI ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:ProductionEquipment + a owl:Class ; + rdfs:comment "A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc." ; + rdfs:label "ProductionEquipment" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#PhysicalObject> , saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory ; + owl:onProperty s4inma:belongsToCategory + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Measurement ; + owl:onProperty saref:makesMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipmentFunction ; + owl:onProperty saref:hasFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4inma:hasIDValue + ] . + +s4inma:belongsToCategory + a owl:ObjectProperty ; + rdfs:comment "Link between an entity and its category" ; + rdfs:label "belongs to category" ; + owl:inverseOf s4inma:isCategoryOf . + +s4inma:hasSerialNumber + a owl:DatatypeProperty ; + rdfs:comment "A relation to describe the serial number of a certain Item, which is unique per Item." ; + rdfs:label "has serial number" . + +s4inma:GTIN12ID a owl:Class ; + rdfs:comment "GTIN-12 (UPC-A) is a 12-digit number used primarily in North America" ; + rdfs:label "GTIN12ID" ; + rdfs:subClassOf s4inma:ID . + +saref:Device a owl:Class . diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.rdf b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.rdf new file mode 100644 index 0000000000000000000000000000000000000000..8166416ec7c38b8d80ba701e124901a198f4a75b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.rdf @@ -0,0 +1,693 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:s4bldg="https://saref.etsi.org/saref4bldg#" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:s4inma="https://saref.etsi.org/saref4inma#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4inma#"> + <dcterms:contributor>Alba Fernandez Izquierdo, UPM</dcterms:contributor> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341005/01.01.01_60/ts_10341005v010101p.pdf"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2015-03-29</dcterms:created> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-04-30</dcterms:modified> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:title xml:lang="en">SAREF4INMA: an extension of SAREF for the industry and manufacturing domain</dcterms:title> + <dcterms:contributor>Matthijs Punter, TNO</dcterms:contributor> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4s4inma/"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/mderoode"/> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <vann:preferredNamespacePrefix>s4inma</vann:preferredNamespacePrefix> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4inma#</vann:preferredNamespaceUri> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4inma/v1.1.1/saref4inma#"/> + <dcterms:description>SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507. </dcterms:description> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Batch"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipment"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#needsEquipment"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). </rdfs:comment> + <rdfs:label>Batch</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Batch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfBatch"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Size"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Site"> + <rdfs:label>Site</rdfs:label> + <rdfs:comment>A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/def/s4bldg#BuildingSpace"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ItemBatch"> + <rdfs:label>Item Batch</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Item"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#creates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ItemCategory"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Batch"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/def/s4bldg#PhysicalObject"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Measurement"> + <rdfs:label>Measurement</rdfs:label> + <rdfs:comment>A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Batch"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Item"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasFeatureOfInterest"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipment"> + <rdfs:subClassOf rdf:resource="https://w3id.org/def/s4bldg#PhysicalObject"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#State"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentCategory"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentFunction"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>ProductionEquipment</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#MaterialCategory"> + <rdfs:label>Material category</rdfs:label> + <rdfs:comment>A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#MaterialBatch"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN13ID"> + <rdfs:label>GTIN13ID</rdfs:label> + <rdfs:comment>GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Factory"> + <rdfs:label>Factory</rdfs:label> + <rdfs:comment>A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/def/s4bldg#Building"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Item"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ItemBatch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4inma#ItemBatch"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Item"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfItem"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#FeatureOfInterest"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasSerialNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies).</rdfs:comment> + <rdfs:label>Item</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ItemCategory"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ItemCategory"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasUpdate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ItemBatch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasModelNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar.</rdfs:comment> + <rdfs:label>Item category</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentCategory"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isProducedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentCategory"> + <rdfs:label>Production equipment category</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasModelNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ProductionEquipment"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ActualMeasurement"> + <rdfs:label>Actual measurement</rdfs:label> + <rdfs:comment>Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ExpectedMeasurement"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#MaterialBatch"> + <rdfs:label>Material Batch</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasCertificate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#MaterialCategory"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Batch"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"> + <rdfs:label>Identifier</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A unique identifier.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2004/02/skos/core#ConceptScheme"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Function"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentFunction"> + <rdfs:label>Production equipment function</rdfs:label> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Function"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#WorkCenter"> + <rdfs:label>Work center</rdfs:label> + <rdfs:comment>A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ProductionEquipment"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ExpectedMeasurement"> + <rdfs:label>Expected measurement</rdfs:label> + <rdfs:comment>Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN12ID"> + <rdfs:label>GTIN12ID</rdfs:label> + <rdfs:comment>GTIN-12 (UPC-A) is a 12-digit number used primarily in North America</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#UUID"> + <rdfs:label>UUID</rdfs:label> + <rdfs:comment>A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 "Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#IRDI"> + <rdfs:label>IRDI</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Area"> + <rdfs:label>Area</rdfs:label> + <rdfs:comment>A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/def/s4bldg#BuildingSpace"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN14ID"> + <rdfs:label>GTIN14ID</rdfs:label> + <rdfs:comment>GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN8ID"> + <rdfs:label>GTIN18ID</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Size"> + <rdfs:label>Size</rdfs:label> + <rdfs:comment>The amount of certain objects in a collection (e.g., size of a material batch).</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Property"/> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasSize"> + <rdfs:label>has size</rdfs:label> + <rdfs:comment>A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"> + <rdfs:label>is feature of interest of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfItem"> + <rdfs:label>consists of item</rdfs:label> + <rdfs:comment>A relation to express that an item can recursively consists of other Items</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#produces"> + <rdfs:label>produces</rdfs:label> + <rdfs:comment>ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN13ID"> + <rdfs:label>has GTIN13ID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN13ID"/> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </rdfs:subPropertyOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"> + <rdfs:label>has identifier</rdfs:label> + <rdfs:comment>link between an entity and its unique identifier</rdfs:comment> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN12ID"> + <rdfs:label>has GTIN12ID </rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN12ID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#creates"> + <rdfs:label>creates</rdfs:label> + <rdfs:comment>A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#needsEquipment"> + <rdfs:label>needs equipment</rdfs:label> + <rdfs:comment>A relationship indicating that an entity needs a particular equipment to be produced</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN14ID"> + <rdfs:label>has GTIN14ID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN14ID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN8ID"> + <rdfs:label>has GTIN8ID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN8ID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"> + <rdfs:label>is category of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"> + <rdfs:label>belongs to category</rdfs:label> + <rdfs:comment>Link between an entity and its category</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isProducedBy"> + <rdfs:label>is produced by</rdfs:label> + <rdfs:comment>Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines.</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4inma#produces"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasState"> + <rdfs:label>has state</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"> + <rdfs:label>is created in</rdfs:label> + <rdfs:comment>An Item is created in an ItemBatch.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIRDI"> + <rdfs:label>has IRDI</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#IRDI"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasFeatureOfInterest"> + <rdfs:label>has feature of interest</rdfs:label> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasUUID"> + <rdfs:label>has UUID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#UUID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfBatch"> + <rdfs:label>consists of batch</rdfs:label> + <rdfs:comment>A relation to express that a batch can recursively consists of other batches</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasUpdate"> + <rdfs:label>has update</rdfs:label> + <rdfs:comment>The newer version of a ItemCategory.</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasUUIDValue"> + <rdfs:label>has UUID value</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </rdfs:subPropertyOf> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"> + <rdfs:label>has identifier value</rdfs:label> + <rdfs:comment>A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property </rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN13IDValue"> + <rdfs:label>has GTIN13ID value</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasSerialNumber"> + <rdfs:label>has serial number</rdfs:label> + <rdfs:comment>A relation to describe the serial number of a certain Item, which is unique per Item.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN14IDValue"> + <rdfs:label>has GTIN14ID</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasVersion"> + <rdfs:label>has version</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >An item has a certain revision or version number, whereas a higher number indicates a newer version.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIRDIValue"> + <rdfs:label>has IRDI</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN8IDValue"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasCertificate"> + <rdfs:label>has certificate</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasModelNumber"> + <rdfs:label>has model number</rdfs:label> + <rdfs:comment>A relation to express the model number of a certain object (item, product, equipment, etc.) </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN12IDValue"> + <rdfs:label>has GTIN12ID value</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:AllDisjointClasses> + <owl:members rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Area"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Site"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#WorkCenter"/> + </owl:members> + </owl:AllDisjointClasses> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/publisher"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/source"/> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2002/07/owl#maxQualifiedCardinality"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/created"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/issued"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/contributor"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/modified"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.ttl b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.ttl new file mode 100644 index 0000000000000000000000000000000000000000..0c0dc9c71ca935cc5d6df4832e153fc0d4d59b38 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/latest/saref4inma.ttl @@ -0,0 +1,690 @@ +@prefix dcterms: <http://purl.org/dc/terms/> . +@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#> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix saref: <https://w3id.org/saref#> . +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@prefix s4inma: <https://saref.etsi.org/saref4inma#> . + +<https://saref.etsi.org/saref4inma#> a owl:Ontology ; + dcterms:title "SAREF4INMA: an extension of SAREF for the industry and manufacturing domain"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4inma/v1.1.1/saref4inma#> ; + dcterms:created "2015-03-29"^^xsd:date ; + dcterms:modified "2019-04-30"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:contributor "Matthijs Punter, TNO"^^xsd:string ; + dcterms:contributor <https://www.linkedin.com/in/mderoode> ; + dcterms:contributor "Alba Fernandez Izquierdo, UPM"^^xsd:string ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4inma#" ; + vann:preferredNamespacePrefix "s4inma" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341005/01.01.01_60/ts_10341005v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4s4inma/> ; + dcterms:description "SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507. "^^xsd:string ; + dcterms:publisher <https://www.etsi.org/> . + + +################################################################# +# Annotation properties +################################################################# + +### http://purl.org/dc/terms/contributor +dcterms:contributor rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/created +dcterms:created rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/creator +dcterms:creator rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/description +dcterms:description rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/issued +dcterms:issued rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/license +dcterms:license rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/modified +dcterms:modified rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/publisher +dcterms:publisher rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/source +dcterms:source rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/title +dcterms:title rdf:type owl:AnnotationProperty . + + +### http://www.w3.org/2002/07/owl#maxQualifiedCardinality +owl:maxQualifiedCardinality rdf:type owl:AnnotationProperty . + + +################################################################# +# Object Properties +################################################################# + +### https://saref.etsi.org/saref4inma#belongsToCategory +s4inma:belongsToCategory rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:isCategoryOf ; + rdfs:comment "Link between an entity and its category" ; + rdfs:label "belongs to category" . + + +### https://saref.etsi.org/saref4inma#consistsOfBatch +s4inma:consistsOfBatch rdf:type owl:ObjectProperty ; + rdfs:comment "A relation to express that a batch can recursively consists of other batches"^^xsd:string ; + rdfs:label "consists of batch" . + + +### https://saref.etsi.org/saref4inma#consistsOfItem +s4inma:consistsOfItem rdf:type owl:ObjectProperty ; + rdfs:comment "A relation to express that an item can recursively consists of other Items"^^xsd:string ; + rdfs:label "consists of item" . + + +### https://saref.etsi.org/saref4inma#creates +s4inma:creates rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:isCreatedIn ; + rdfs:comment "A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)"^^xsd:string ; + rdfs:label "creates" . + + +### https://saref.etsi.org/saref4inma#hasFeatureOfInterest +s4inma:hasFeatureOfInterest rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:isFeatureOfInterestOf ; + rdfs:label "has feature of interest"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN12ID +s4inma:hasGTIN12ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN12ID ; + rdfs:label "has GTIN12ID "^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN13ID +s4inma:hasGTIN13ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN13ID ; + rdfs:label "has GTIN13ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN14ID +s4inma:hasGTIN14ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN14ID ; + rdfs:label "has GTIN14ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN8ID +s4inma:hasGTIN8ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN8ID ; + rdfs:label "has GTIN8ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasIRDI +s4inma:hasIRDI rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:IRDI ; + rdfs:label "has IRDI"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasIdentifier +s4inma:hasIdentifier rdf:type owl:ObjectProperty ; + rdfs:range s4inma:ID ; + rdfs:comment "link between an entity and its unique identifier" ; + rdfs:label "has identifier" . + + +### https://saref.etsi.org/saref4inma#hasSize +s4inma:hasSize rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)"^^xsd:string ; + rdfs:label "has size" . + + +### https://saref.etsi.org/saref4inma#hasUUID +s4inma:hasUUID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:UUID ; + rdfs:label "has UUID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasUpdate +s4inma:hasUpdate rdf:type owl:ObjectProperty ; + rdfs:comment "The newer version of a ItemCategory." ; + rdfs:label "has update" . + + +### https://saref.etsi.org/saref4inma#isCategoryOf +s4inma:isCategoryOf rdf:type owl:ObjectProperty ; + rdfs:label "is category of" . + + +### https://saref.etsi.org/saref4inma#isCreatedIn +s4inma:isCreatedIn rdf:type owl:ObjectProperty ; + rdfs:comment "An Item is created in an ItemBatch."^^xsd:string ; + rdfs:label "is created in" . + + +### https://saref.etsi.org/saref4inma#isFeatureOfInterestOf +s4inma:isFeatureOfInterestOf rdf:type owl:ObjectProperty ; + rdfs:label "is feature of interest of"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#isProducedBy +s4inma:isProducedBy rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:produces ; + rdfs:comment "Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines." ; + rdfs:label "is produced by" . + + +### https://saref.etsi.org/saref4inma#needsEquipment +s4inma:needsEquipment rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indicating that an entity needs a particular equipment to be produced"^^xsd:string ; + rdfs:label "needs equipment" . + + +### https://saref.etsi.org/saref4inma#produces +s4inma:produces rdf:type owl:ObjectProperty ; + rdfs:comment "ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)"^^xsd:string ; + rdfs:label "produces" . + + +### https://w3id.org/saref#hasFunction +saref:hasFunction rdf:type owl:ObjectProperty . + + +### https://w3id.org/saref#hasState +saref:hasState rdf:type owl:ObjectProperty ; + rdfs:label "has state" . + + +### https://w3id.org/saref#makesMeasurement +saref:makesMeasurement rdf:type owl:ObjectProperty . + + +### https://w3id.org/saref#measuresProperty +saref:measuresProperty rdf:type owl:ObjectProperty . + + +################################################################# +# Data properties +################################################################# + +### https://saref.etsi.org/saref4inma#hasCertificate +s4inma:hasCertificate rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate."^^rdfs:Literal ; + rdfs:label "has certificate" . + + +### https://saref.etsi.org/saref4inma#hasGTIN12IDValue +s4inma:hasGTIN12IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has GTIN12ID value"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN13IDValue +s4inma:hasGTIN13IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has GTIN13ID value"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN14IDValue +s4inma:hasGTIN14IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has GTIN14ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN8IDValue +s4inma:hasGTIN8IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string . + + +### https://saref.etsi.org/saref4inma#hasIDValue +s4inma:hasIDValue rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property "^^xsd:string ; + rdfs:label "has identifier value" . + + +### https://saref.etsi.org/saref4inma#hasIRDIValue +s4inma:hasIRDIValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has IRDI"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasModelNumber +s4inma:hasModelNumber rdf:type owl:DatatypeProperty ; + rdfs:comment "A relation to express the model number of a certain object (item, product, equipment, etc.) "^^xsd:string ; + rdfs:label "has model number" . + + +### https://saref.etsi.org/saref4inma#hasSerialNumber +s4inma:hasSerialNumber rdf:type owl:DatatypeProperty ; + rdfs:comment "A relation to describe the serial number of a certain Item, which is unique per Item."^^xsd:string ; + rdfs:label "has serial number" . + + +### https://saref.etsi.org/saref4inma#hasUUIDValue +s4inma:hasUUIDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has UUID value"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasVersion +s4inma:hasVersion rdf:type owl:DatatypeProperty ; + rdfs:comment "An item has a certain revision or version number, whereas a higher number indicates a newer version."^^rdfs:Literal ; + rdfs:label "has version" . + + +################################################################# +# Classes +################################################################# + +### http://www.w3.org/2004/02/skos/core#ConceptScheme +skos:ConceptScheme rdf:type owl:Class . + + +### https://w3id.org/def/s4bldg#Building +<https://w3id.org/def/s4bldg#Building> rdf:type owl:Class . + + +### https://w3id.org/def/s4bldg#BuildingSpace +<https://w3id.org/def/s4bldg#BuildingSpace> rdf:type owl:Class . + + +### https://w3id.org/def/s4bldg#PhysicalObject +<https://w3id.org/def/s4bldg#PhysicalObject> rdf:type owl:Class . + + +### https://saref.etsi.org/saref4inma#ActualMeasurement +s4inma:ActualMeasurement rdf:type owl:Class ; + rdfs:subClassOf s4inma:Measurement ; + owl:disjointWith s4inma:ExpectedMeasurement ; + rdfs:comment "Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement."^^xsd:string ; + rdfs:label "Actual measurement" . + + +### https://saref.etsi.org/saref4inma#Area +s4inma:Area rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s."^^xsd:string ; + rdfs:label "Area" . + + +### https://saref.etsi.org/saref4inma#Batch +s4inma:Batch rdf:type owl:Class ; + rdfs:subClassOf owl:Thing , + saref:FeatureOfInterest , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:consistsOfBatch ; + owl:allValuesFrom s4inma:Batch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isFeatureOfInterestOf ; + owl:allValuesFrom s4inma:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:needsEquipment ; + owl:allValuesFrom s4inma:ProductionEquipment + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasSize ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4inma:Size + ] ; + rdfs:comment "A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). "^^xsd:string ; + rdfs:label "Batch" . + + +### https://saref.etsi.org/saref4inma#ExpectedMeasurement +s4inma:ExpectedMeasurement rdf:type owl:Class ; + rdfs:subClassOf s4inma:Measurement ; + rdfs:comment "Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement."^^xsd:string ; + rdfs:label "Expected measurement" . + + +### https://saref.etsi.org/saref4inma#Factory +s4inma:Factory rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#Building> ; + rdfs:comment "A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. "^^xsd:string ; + rdfs:label "Factory" . + + +### https://saref.etsi.org/saref4inma#GTIN12ID +s4inma:GTIN12ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-12 (UPC-A) is a 12-digit number used primarily in North America"^^xsd:string ; + rdfs:label "GTIN12ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#GTIN13ID +s4inma:GTIN13ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America"^^xsd:string ; + rdfs:label "GTIN13ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#GTIN14ID +s4inma:GTIN14ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels."^^xsd:string ; + rdfs:label "GTIN14ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#GTIN8ID +s4inma:GTIN8ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America."^^rdfs:Literal ; + rdfs:label "GTIN18ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#ID +s4inma:ID rdf:type owl:Class ; + rdfs:subClassOf skos:ConceptScheme , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:someValuesFrom xsd:string + ] ; + rdfs:comment "A unique identifier."^^rdfs:Literal ; + rdfs:label "Identifier" . + + +### https://saref.etsi.org/saref4inma#IRDI +s4inma:IRDI rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier."^^rdfs:Literal ; + rdfs:label "IRDI" . + + +### https://saref.etsi.org/saref4inma#Item +s4inma:Item rdf:type owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:consistsOfItem ; + owl:allValuesFrom s4inma:Item + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCreatedIn ; + owl:allValuesFrom s4inma:ItemBatch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isFeatureOfInterestOf ; + owl:allValuesFrom s4inma:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCreatedIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4inma:ItemBatch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasSerialNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies)."^^rdfs:Literal ; + rdfs:label "Item" . + + +### https://saref.etsi.org/saref4inma#ItemBatch +s4inma:ItemBatch rdf:type owl:Class ; + rdfs:subClassOf s4inma:Batch , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:belongsToCategory ; + owl:allValuesFrom s4inma:ItemCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:creates ; + owl:allValuesFrom s4inma:Item + ] ; + rdfs:comment "A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag)."^^rdfs:Literal ; + rdfs:label "Item Batch" . + + +### https://saref.etsi.org/saref4inma#ItemCategory +s4inma:ItemCategory rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasUpdate ; + owl:allValuesFrom s4inma:ItemCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCategoryOf ; + owl:allValuesFrom s4inma:ItemBatch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isProducedBy ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasModelNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasVersion ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar."^^xsd:string ; + rdfs:label "Item category" . + + +### https://saref.etsi.org/saref4inma#MaterialBatch +s4inma:MaterialBatch rdf:type owl:Class ; + rdfs:subClassOf s4inma:Batch , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:belongsToCategory ; + owl:allValuesFrom s4inma:MaterialCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasCertificate ; + owl:allValuesFrom xsd:string + ] ; + rdfs:comment "A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch."^^rdfs:Literal ; + rdfs:label "Material Batch" . + + +### https://saref.etsi.org/saref4inma#MaterialCategory +s4inma:MaterialCategory rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCategoryOf ; + owl:allValuesFrom s4inma:MaterialBatch + ] ; + rdfs:comment "A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar."^^xsd:string ; + rdfs:label "Material category" . + + +### https://saref.etsi.org/saref4inma#Measurement +s4inma:Measurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasFeatureOfInterest ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( s4inma:Batch + s4inma:Item + ) + ] + ] ; + rdfs:comment "A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values."^^xsd:string ; + rdfs:label "Measurement" . + + +### https://saref.etsi.org/saref4inma#ProductionEquipment +s4inma:ProductionEquipment rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#PhysicalObject> , + saref:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:belongsToCategory ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:allValuesFrom s4inma:ProductionEquipmentFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:allValuesFrom saref:State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom s4inma:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:allValuesFrom xsd:string + ] ; + rdfs:comment "A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc."^^xsd:string ; + rdfs:label "ProductionEquipment" . + + +### https://saref.etsi.org/saref4inma#ProductionEquipmentCategory +s4inma:ProductionEquipmentCategory rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCategoryOf ; + owl:allValuesFrom s4inma:ProductionEquipment + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasModelNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories."^^rdfs:Literal ; + rdfs:label "Production equipment category" . + + +### https://saref.etsi.org/saref4inma#ProductionEquipmentFunction +s4inma:ProductionEquipmentFunction rdf:type owl:Class ; + rdfs:subClassOf owl:Thing , + saref:Function ; + rdfs:label "Production equipment function"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#Site +s4inma:Site rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas"^^xsd:string ; + rdfs:label "Site" . + + +### https://saref.etsi.org/saref4inma#Size +s4inma:Size rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "The amount of certain objects in a collection (e.g., size of a material batch)."^^xsd:string ; + rdfs:label "Size" . + + +### https://saref.etsi.org/saref4inma#UUID +s4inma:UUID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 \"Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)\" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005." ; + rdfs:label "UUID" . + + +### https://saref.etsi.org/saref4inma#WorkCenter +s4inma:WorkCenter rdf:type owl:Class ; + rdfs:subClassOf s4inma:ProductionEquipment ; + rdfs:comment "A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers."^^xsd:string ; + rdfs:label "Work center" . + + +### https://w3id.org/saref#Device +saref:Device rdf:type owl:Class . + + +### https://w3id.org/saref#FeatureOfInterest +saref:FeatureOfInterest rdf:type owl:Class . + + +### https://w3id.org/saref#Function +saref:Function rdf:type owl:Class . + + +### https://w3id.org/saref#Measurement +saref:Measurement rdf:type owl:Class . + + +### https://w3id.org/saref#Property +saref:Property rdf:type owl:Class . + + +### https://w3id.org/saref#State +saref:State rdf:type owl:Class . + + +################################################################# +# General axioms +################################################################# + +[ rdf:type owl:AllDisjointClasses ; + owl:members ( s4inma:Area + s4inma:Site + s4inma:WorkCenter + ) +] . + + +### Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.html b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.html new file mode 100644 index 0000000000000000000000000000000000000000..61089edd644f1363bff077c8f481196a55986b0f --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4INMA: an extension of SAREF for the industry and manufacturing domain</h1> + <p><strong>Official ETSI documentation for SAREF4INMA v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4INMA ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4INMA v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4inma.ttl">Turtle</a> or <a href="./saref4inma.rdf">RDF/XML</a> Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4inma#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.n3 b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.n3 new file mode 100644 index 0000000000000000000000000000000000000000..9b34fb131239cd1f552a0a362cafe7dd7af55171 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.n3 @@ -0,0 +1,518 @@ +@prefix s4inma: <https://saref.etsi.org/saref4inma#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@prefix saref: <https://w3id.org/saref#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . + +s4inma:ID a owl:Class ; + rdfs:comment "A unique identifier."^^rdfs:Literal ; + rdfs:label "Identifier" ; + rdfs:subClassOf skos:ConceptScheme ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:someValuesFrom xsd:string + ] . + +s4inma:hasGTIN13IDValue + a owl:DatatypeProperty ; + rdfs:label "has GTIN13ID value" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +s4inma:GTIN8ID a owl:Class ; + rdfs:comment "GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America."^^rdfs:Literal ; + rdfs:label "GTIN18ID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:ExpectedMeasurement + a owl:Class ; + rdfs:comment "Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement." ; + rdfs:label "Expected measurement" ; + rdfs:subClassOf s4inma:Measurement . + +s4inma:hasIdentifier a owl:ObjectProperty ; + rdfs:comment "link between an entity and its unique identifier" ; + rdfs:label "has identifier" ; + rdfs:range s4inma:ID . + +<https://w3id.org/def/s4bldg#PhysicalObject> + a owl:Class . + +saref:makesMeasurement + a owl:ObjectProperty . + +s4inma:Measurement a owl:Class ; + rdfs:comment "A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values." ; + rdfs:label "Measurement" ; + rdfs:subClassOf saref:Measurement ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom [ a owl:Class ; + owl:unionOf ( s4inma:Batch s4inma:Item ) + ] ; + owl:onProperty s4inma:hasFeatureOfInterest + ] . + +s4inma:Factory a owl:Class ; + rdfs:comment "A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. " ; + rdfs:label "Factory" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#Building> . + +s4inma:hasUpdate a owl:ObjectProperty ; + rdfs:comment "The newer version of a ItemCategory." ; + rdfs:label "has update" . + +saref:Measurement a owl:Class . + +saref:hasFunction a owl:ObjectProperty . + +s4inma:hasVersion a owl:DatatypeProperty ; + rdfs:comment "An item has a certain revision or version number, whereas a higher number indicates a newer version."^^rdfs:Literal ; + rdfs:label "has version" . + +dcterms:license a owl:AnnotationProperty . + +dcterms:source a owl:AnnotationProperty . + +s4inma:ProductionEquipmentFunction + a owl:Class ; + rdfs:label "Production equipment function" ; + rdfs:subClassOf saref:Function , owl:Thing . + +s4inma:isProducedBy a owl:ObjectProperty ; + rdfs:comment "Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines." ; + rdfs:label "is produced by" ; + owl:inverseOf s4inma:produces . + +s4inma:hasGTIN14IDValue + a owl:DatatypeProperty ; + rdfs:label "has GTIN14ID" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +<https://w3id.org/def/s4bldg#BuildingSpace> + a owl:Class . + +s4inma:ActualMeasurement + a owl:Class ; + rdfs:comment "Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement." ; + rdfs:label "Actual measurement" ; + rdfs:subClassOf s4inma:Measurement ; + owl:disjointWith s4inma:ExpectedMeasurement . + +s4inma:needsEquipment + a owl:ObjectProperty ; + rdfs:comment "A relationship indicating that an entity needs a particular equipment to be produced" ; + rdfs:label "needs equipment" . + +dcterms:created a owl:AnnotationProperty . + +skos:ConceptScheme a owl:Class . + +dcterms:creator a owl:AnnotationProperty . + +s4inma:WorkCenter a owl:Class ; + rdfs:comment "A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers." ; + rdfs:label "Work center" ; + rdfs:subClassOf s4inma:ProductionEquipment . + +dcterms:title a owl:AnnotationProperty . + +s4inma:hasGTIN8IDValue + a owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +s4inma:isFeatureOfInterestOf + a owl:ObjectProperty ; + rdfs:label "is feature of interest of" . + +s4inma:UUID a owl:Class ; + rdfs:comment "A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 \"Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)\" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005." ; + rdfs:label "UUID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:hasUUID a owl:ObjectProperty ; + rdfs:label "has UUID" ; + rdfs:range s4inma:UUID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +saref:Function a owl:Class . + +saref:measuresProperty + a owl:ObjectProperty . + +dcterms:contributor a owl:AnnotationProperty . + +s4inma:MaterialCategory + a owl:Class ; + rdfs:comment "A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar." ; + rdfs:label "Material category" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:MaterialBatch ; + owl:onProperty s4inma:isCategoryOf + ] . + +dcterms:publisher a owl:AnnotationProperty . + +saref:State a owl:Class . + +s4inma:hasGTIN8ID a owl:ObjectProperty ; + rdfs:label "has GTIN8ID" ; + rdfs:range s4inma:GTIN8ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:hasIDValue a owl:DatatypeProperty ; + rdfs:comment "A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property " ; + rdfs:label "has identifier value" ; + rdfs:range xsd:string . + +s4inma:ProductionEquipmentCategory + a owl:Class ; + rdfs:comment "A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories."^^rdfs:Literal ; + rdfs:label "Production equipment category" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasModelNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipment ; + owl:onProperty s4inma:isCategoryOf + ] . + +s4inma:Item a owl:Class ; + rdfs:comment "A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies)."^^rdfs:Literal ; + rdfs:label "Item" ; + rdfs:subClassOf saref:FeatureOfInterest ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemBatch ; + owl:onProperty s4inma:isCreatedIn + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onClass s4inma:ItemBatch ; + owl:onProperty s4inma:isCreatedIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Item ; + owl:onProperty s4inma:consistsOfItem + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasSerialNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Measurement ; + owl:onProperty s4inma:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4inma:hasIDValue + ] . + +s4inma:consistsOfBatch + a owl:ObjectProperty ; + rdfs:comment "A relation to express that a batch can recursively consists of other batches" ; + rdfs:label "consists of batch" . + +s4inma:hasFeatureOfInterest + a owl:ObjectProperty ; + rdfs:label "has feature of interest" ; + owl:inverseOf s4inma:isFeatureOfInterestOf . + +s4inma:Area a owl:Class ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s." ; + rdfs:label "Area" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> . + +s4inma:ItemBatch a owl:Class ; + rdfs:comment "A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag)."^^rdfs:Literal ; + rdfs:label "Item Batch" ; + rdfs:subClassOf s4inma:Batch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Item ; + owl:onProperty s4inma:creates + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemCategory ; + owl:onProperty s4inma:belongsToCategory + ] . + +saref:hasState a owl:ObjectProperty ; + rdfs:label "has state" . + +s4inma: a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor "Alba Fernandez Izquierdo, UPM" , "Matthijs Punter, TNO" ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> , <http://www.garcia-castro.com/foaf.rdf#me> , <http://maxime-lefrancois.info/me#> , <https://www.linkedin.com/in/mderoode> , <http://purl.org/net/mpoveda> ; + dcterms:created "2015-03-29"^^xsd:date ; + dcterms:description "SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507. " ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2019-04-30"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341005/01.01.01_60/ts_10341005v010101p.pdf> , <https://forge.etsi.org/rep/SAREF/saref4s4inma/> ; + dcterms:title "SAREF4INMA: an extension of SAREF for the industry and manufacturing domain"@en ; + vann:preferredNamespacePrefix "s4inma" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4inma#" ; + owl:versionIRI <https://saref.etsi.org/saref4inma/v1.1.1/saref4inma#> ; + owl:versionInfo "1.1.1" . + +s4inma:hasGTIN14ID a owl:ObjectProperty ; + rdfs:label "has GTIN14ID" ; + rdfs:range s4inma:GTIN14ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:hasModelNumber + a owl:DatatypeProperty ; + rdfs:comment "A relation to express the model number of a certain object (item, product, equipment, etc.) " ; + rdfs:label "has model number" . + +s4inma:Site a owl:Class ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas" ; + rdfs:label "Site" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> . + +s4inma:hasGTIN13ID a owl:ObjectProperty ; + rdfs:label "has GTIN13ID" ; + rdfs:range s4inma:GTIN13ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +[ a owl:AllDisjointClasses ; + owl:members ( s4inma:Area s4inma:Site s4inma:WorkCenter ) +] . + +s4inma:isCategoryOf a owl:ObjectProperty ; + rdfs:label "is category of" . + +s4inma:produces a owl:ObjectProperty ; + rdfs:comment "ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)" ; + rdfs:label "produces" . + +s4inma:hasGTIN12ID a owl:ObjectProperty ; + rdfs:label "has GTIN12ID " ; + rdfs:range s4inma:GTIN12ID ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:creates a owl:ObjectProperty ; + rdfs:comment "A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)" ; + rdfs:label "creates" ; + owl:inverseOf s4inma:isCreatedIn . + +s4inma:Batch a owl:Class ; + rdfs:comment "A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). " ; + rdfs:label "Batch" ; + rdfs:subClassOf saref:FeatureOfInterest , owl:Thing ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipment ; + owl:onProperty s4inma:needsEquipment + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Measurement ; + owl:onProperty s4inma:isFeatureOfInterestOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Batch ; + owl:onProperty s4inma:consistsOfBatch + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4inma:Size ; + owl:onProperty s4inma:hasSize + ] . + +s4inma:ItemCategory a owl:Class ; + rdfs:comment "An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar." ; + rdfs:label "Item category" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemCategory ; + owl:onProperty s4inma:hasUpdate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ItemBatch ; + owl:onProperty s4inma:isCategoryOf + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasModelNumber + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string ; + owl:onProperty s4inma:hasVersion + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory ; + owl:onProperty s4inma:isProducedBy + ] . + +saref:FeatureOfInterest + a owl:Class . + +s4inma:hasUUIDValue a owl:DatatypeProperty ; + rdfs:label "has UUID value" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +<https://w3id.org/def/s4bldg#Building> + a owl:Class . + +s4inma:consistsOfItem + a owl:ObjectProperty ; + rdfs:comment "A relation to express that an item can recursively consists of other Items" ; + rdfs:label "consists of item" . + +dcterms:modified a owl:AnnotationProperty . + +s4inma:hasGTIN12IDValue + a owl:DatatypeProperty ; + rdfs:label "has GTIN12ID value" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +dcterms:issued a owl:AnnotationProperty . + +s4inma:hasIRDIValue a owl:DatatypeProperty ; + rdfs:label "has IRDI" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf s4inma:hasIDValue . + +owl:maxQualifiedCardinality + a owl:AnnotationProperty . + +s4inma:isCreatedIn a owl:ObjectProperty ; + rdfs:comment "An Item is created in an ItemBatch." ; + rdfs:label "is created in" . + +dcterms:description a owl:AnnotationProperty . + +s4inma:Size a owl:Class ; + rdfs:comment "The amount of certain objects in a collection (e.g., size of a material batch)." ; + rdfs:label "Size" ; + rdfs:subClassOf saref:Property . + +s4inma:MaterialBatch a owl:Class ; + rdfs:comment "A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch."^^rdfs:Literal ; + rdfs:label "Material Batch" ; + rdfs:subClassOf s4inma:Batch ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4inma:hasCertificate + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:MaterialCategory ; + owl:onProperty s4inma:belongsToCategory + ] . + +s4inma:GTIN14ID a owl:Class ; + rdfs:comment "GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels." ; + rdfs:label "GTIN14ID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:hasSize a owl:ObjectProperty ; + rdfs:comment "A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)" ; + rdfs:label "has size" . + +s4inma:hasCertificate + a owl:DatatypeProperty ; + rdfs:comment "The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate."^^rdfs:Literal ; + rdfs:label "has certificate" ; + rdfs:range xsd:string . + +saref:Property a owl:Class . + +s4inma:GTIN13ID a owl:Class ; + rdfs:comment "GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America" ; + rdfs:label "GTIN13ID" ; + rdfs:subClassOf s4inma:ID . + +s4inma:IRDI a owl:Class ; + rdfs:comment "International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier."^^rdfs:Literal ; + rdfs:label "IRDI" ; + rdfs:subClassOf s4inma:ID . + +s4inma:hasIRDI a owl:ObjectProperty ; + rdfs:label "has IRDI" ; + rdfs:range s4inma:IRDI ; + rdfs:subPropertyOf s4inma:hasIdentifier . + +s4inma:ProductionEquipment + a owl:Class ; + rdfs:comment "A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc." ; + rdfs:label "ProductionEquipment" ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#PhysicalObject> , saref:Device ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ID ; + owl:onProperty s4inma:hasIdentifier + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:State ; + owl:onProperty saref:hasState + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory ; + owl:onProperty s4inma:belongsToCategory + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom saref:Property ; + owl:onProperty saref:measuresProperty + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:Measurement ; + owl:onProperty saref:makesMeasurement + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom s4inma:ProductionEquipmentFunction ; + owl:onProperty saref:hasFunction + ] ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty s4inma:hasIDValue + ] . + +s4inma:belongsToCategory + a owl:ObjectProperty ; + rdfs:comment "Link between an entity and its category" ; + rdfs:label "belongs to category" ; + owl:inverseOf s4inma:isCategoryOf . + +s4inma:hasSerialNumber + a owl:DatatypeProperty ; + rdfs:comment "A relation to describe the serial number of a certain Item, which is unique per Item." ; + rdfs:label "has serial number" . + +s4inma:GTIN12ID a owl:Class ; + rdfs:comment "GTIN-12 (UPC-A) is a 12-digit number used primarily in North America" ; + rdfs:label "GTIN12ID" ; + rdfs:subClassOf s4inma:ID . + +saref:Device a owl:Class . diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.rdf b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.rdf new file mode 100644 index 0000000000000000000000000000000000000000..8166416ec7c38b8d80ba701e124901a198f4a75b --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.rdf @@ -0,0 +1,693 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:time="http://www.w3.org/2006/time#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:s4bldg="https://saref.etsi.org/saref4bldg#" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:s4inma="https://saref.etsi.org/saref4inma#" + xmlns:saref="https://w3id.org/saref#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4inma#"> + <dcterms:contributor>Alba Fernandez Izquierdo, UPM</dcterms:contributor> + <dcterms:source rdf:resource="https://www.etsi.org/deliver/etsi_ts/103400_103499/10341005/01.01.01_60/ts_10341005v010101p.pdf"/> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2015-03-29</dcterms:created> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/lauradaniele"/> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-04-30</dcterms:modified> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:title xml:lang="en">SAREF4INMA: an extension of SAREF for the industry and manufacturing domain</dcterms:title> + <dcterms:contributor>Matthijs Punter, TNO</dcterms:contributor> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:contributor rdf:resource="http://www.garcia-castro.com/foaf.rdf#me"/> + <dcterms:contributor rdf:resource="http://maxime-lefrancois.info/me#"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4s4inma/"/> + <dcterms:contributor rdf:resource="https://www.linkedin.com/in/mderoode"/> + <dcterms:contributor rdf:resource="http://purl.org/net/mpoveda"/> + <vann:preferredNamespacePrefix>s4inma</vann:preferredNamespacePrefix> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4inma#</vann:preferredNamespaceUri> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4inma/v1.1.1/saref4inma#"/> + <dcterms:description>SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507. </dcterms:description> + </owl:Ontology> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Batch"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipment"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#needsEquipment"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). </rdfs:comment> + <rdfs:label>Batch</rdfs:label> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#FeatureOfInterest"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Measurement"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Batch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfBatch"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Size"/> + </owl:onClass> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasSize"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Site"> + <rdfs:label>Site</rdfs:label> + <rdfs:comment>A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/def/s4bldg#BuildingSpace"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ItemBatch"> + <rdfs:label>Item Batch</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag).</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Item"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#creates"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ItemCategory"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Batch"/> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/def/s4bldg#PhysicalObject"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Measurement"> + <rdfs:label>Measurement</rdfs:label> + <rdfs:comment>A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class> + <owl:unionOf rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Batch"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Item"/> + </owl:unionOf> + </owl:Class> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasFeatureOfInterest"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Measurement"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipment"> + <rdfs:subClassOf rdf:resource="https://w3id.org/def/s4bldg#PhysicalObject"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#State"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasState"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentCategory"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://w3id.org/saref#Property"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#measuresProperty"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/saref#Device"/> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#makesMeasurement"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentFunction"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasFunction"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:label>ProductionEquipment</rdfs:label> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#MaterialCategory"> + <rdfs:label>Material category</rdfs:label> + <rdfs:comment>A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#MaterialBatch"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN13ID"> + <rdfs:label>GTIN13ID</rdfs:label> + <rdfs:comment>GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America</rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Factory"> + <rdfs:label>Factory</rdfs:label> + <rdfs:comment>A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. </rdfs:comment> + <rdfs:subClassOf> + <owl:Class rdf:about="https://w3id.org/def/s4bldg#Building"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Item"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ItemBatch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onClass rdf:resource="https://saref.etsi.org/saref4inma#ItemBatch"/> + <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:qualifiedCardinality> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Item"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfItem"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#FeatureOfInterest"/> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasSerialNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies).</rdfs:comment> + <rdfs:label>Item</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ItemCategory"> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ItemCategory"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasUpdate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ItemBatch"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasModelNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasVersion"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:comment>An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar.</rdfs:comment> + <rdfs:label>Item category</rdfs:label> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"/> + </owl:someValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentCategory"/> + </owl:allValuesFrom> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isProducedBy"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentCategory"> + <rdfs:label>Production equipment category</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:onDataRange rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:maxQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger" + >1</owl:maxQualifiedCardinality> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasModelNumber"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#ProductionEquipment"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ActualMeasurement"> + <rdfs:label>Actual measurement</rdfs:label> + <rdfs:comment>Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement.</rdfs:comment> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ExpectedMeasurement"/> + </owl:disjointWith> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#MaterialBatch"> + <rdfs:label>Material Batch</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasCertificate"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Restriction> + <owl:allValuesFrom rdf:resource="https://saref.etsi.org/saref4inma#MaterialCategory"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Batch"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ID"> + <rdfs:label>Identifier</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >A unique identifier.</rdfs:comment> + <rdfs:subClassOf> + <owl:Restriction> + <owl:someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <owl:onProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:onProperty> + </owl:Restriction> + </rdfs:subClassOf> + <rdfs:subClassOf> + <owl:Class rdf:about="http://www.w3.org/2004/02/skos/core#ConceptScheme"/> + </rdfs:subClassOf> + </owl:Class> + <owl:Class rdf:about="https://w3id.org/saref#Function"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ProductionEquipmentFunction"> + <rdfs:label>Production equipment function</rdfs:label> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Function"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#WorkCenter"> + <rdfs:label>Work center</rdfs:label> + <rdfs:comment>A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ProductionEquipment"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#ExpectedMeasurement"> + <rdfs:label>Expected measurement</rdfs:label> + <rdfs:comment>Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#Measurement"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN12ID"> + <rdfs:label>GTIN12ID</rdfs:label> + <rdfs:comment>GTIN-12 (UPC-A) is a 12-digit number used primarily in North America</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#UUID"> + <rdfs:label>UUID</rdfs:label> + <rdfs:comment>A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 "Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#IRDI"> + <rdfs:label>IRDI</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Area"> + <rdfs:label>Area</rdfs:label> + <rdfs:comment>A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/def/s4bldg#BuildingSpace"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN14ID"> + <rdfs:label>GTIN14ID</rdfs:label> + <rdfs:comment>GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#GTIN8ID"> + <rdfs:label>GTIN18ID</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America.</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Size"> + <rdfs:label>Size</rdfs:label> + <rdfs:comment>The amount of certain objects in a collection (e.g., size of a material batch).</rdfs:comment> + <rdfs:subClassOf rdf:resource="https://w3id.org/saref#Property"/> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasSize"> + <rdfs:label>has size</rdfs:label> + <rdfs:comment>A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"> + <rdfs:label>is feature of interest of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfItem"> + <rdfs:label>consists of item</rdfs:label> + <rdfs:comment>A relation to express that an item can recursively consists of other Items</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#produces"> + <rdfs:label>produces</rdfs:label> + <rdfs:comment>ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN13ID"> + <rdfs:label>has GTIN13ID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN13ID"/> + <rdfs:subPropertyOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </rdfs:subPropertyOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIdentifier"> + <rdfs:label>has identifier</rdfs:label> + <rdfs:comment>link between an entity and its unique identifier</rdfs:comment> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#ID"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN12ID"> + <rdfs:label>has GTIN12ID </rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN12ID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#creates"> + <rdfs:label>creates</rdfs:label> + <rdfs:comment>A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)</rdfs:comment> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"/> + </owl:inverseOf> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#needsEquipment"> + <rdfs:label>needs equipment</rdfs:label> + <rdfs:comment>A relationship indicating that an entity needs a particular equipment to be produced</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN14ID"> + <rdfs:label>has GTIN14ID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN14ID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN8ID"> + <rdfs:label>has GTIN8ID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#GTIN8ID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCategoryOf"> + <rdfs:label>is category of</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#belongsToCategory"> + <rdfs:label>belongs to category</rdfs:label> + <rdfs:comment>Link between an entity and its category</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4inma#isCategoryOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isProducedBy"> + <rdfs:label>is produced by</rdfs:label> + <rdfs:comment>Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines.</rdfs:comment> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4inma#produces"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://w3id.org/saref#hasState"> + <rdfs:label>has state</rdfs:label> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#isCreatedIn"> + <rdfs:label>is created in</rdfs:label> + <rdfs:comment>An Item is created in an ItemBatch.</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasIRDI"> + <rdfs:label>has IRDI</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#IRDI"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasFeatureOfInterest"> + <rdfs:label>has feature of interest</rdfs:label> + <owl:inverseOf rdf:resource="https://saref.etsi.org/saref4inma#isFeatureOfInterestOf"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasUUID"> + <rdfs:label>has UUID</rdfs:label> + <rdfs:range rdf:resource="https://saref.etsi.org/saref4inma#UUID"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIdentifier"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#consistsOfBatch"> + <rdfs:label>consists of batch</rdfs:label> + <rdfs:comment>A relation to express that a batch can recursively consists of other batches</rdfs:comment> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/saref4inma#hasUpdate"> + <rdfs:label>has update</rdfs:label> + <rdfs:comment>The newer version of a ItemCategory.</rdfs:comment> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasUUIDValue"> + <rdfs:label>has UUID value</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"/> + </rdfs:subPropertyOf> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIDValue"> + <rdfs:label>has identifier value</rdfs:label> + <rdfs:comment>A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property </rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN13IDValue"> + <rdfs:label>has GTIN13ID value</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasSerialNumber"> + <rdfs:label>has serial number</rdfs:label> + <rdfs:comment>A relation to describe the serial number of a certain Item, which is unique per Item.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN14IDValue"> + <rdfs:label>has GTIN14ID</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasVersion"> + <rdfs:label>has version</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >An item has a certain revision or version number, whereas a higher number indicates a newer version.</rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasIRDIValue"> + <rdfs:label>has IRDI</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN8IDValue"> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasCertificate"> + <rdfs:label>has certificate</rdfs:label> + <rdfs:comment rdf:datatype="http://www.w3.org/2000/01/rdf-schema#Literal" + >The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate.</rdfs:comment> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasModelNumber"> + <rdfs:label>has model number</rdfs:label> + <rdfs:comment>A relation to express the model number of a certain object (item, product, equipment, etc.) </rdfs:comment> + </owl:DatatypeProperty> + <owl:DatatypeProperty rdf:about="https://saref.etsi.org/saref4inma#hasGTIN12IDValue"> + <rdfs:label>has GTIN12ID value</rdfs:label> + <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + <rdfs:subPropertyOf rdf:resource="https://saref.etsi.org/saref4inma#hasIDValue"/> + </owl:DatatypeProperty> + <owl:AllDisjointClasses> + <owl:members rdf:parseType="Collection"> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Area"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#Site"/> + <owl:Class rdf:about="https://saref.etsi.org/saref4inma#WorkCenter"/> + </owl:members> + </owl:AllDisjointClasses> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/publisher"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/source"/> + <owl:AnnotationProperty rdf:about="http://www.w3.org/2002/07/owl#maxQualifiedCardinality"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/created"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/issued"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/contributor"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/modified"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.ttl b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.ttl new file mode 100644 index 0000000000000000000000000000000000000000..0c0dc9c71ca935cc5d6df4832e153fc0d4d59b38 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4inma/v1.1.1/saref4inma.ttl @@ -0,0 +1,690 @@ +@prefix dcterms: <http://purl.org/dc/terms/> . +@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#> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix saref: <https://w3id.org/saref#> . +@prefix s4bldg: <https://saref.etsi.org/saref4bldg#> . +@prefix s4inma: <https://saref.etsi.org/saref4inma#> . + +<https://saref.etsi.org/saref4inma#> a owl:Ontology ; + dcterms:title "SAREF4INMA: an extension of SAREF for the industry and manufacturing domain"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4inma/v1.1.1/saref4inma#> ; + dcterms:created "2015-03-29"^^xsd:date ; + dcterms:modified "2019-04-30"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <https://www.linkedin.com/in/lauradaniele> ; + dcterms:contributor "Matthijs Punter, TNO"^^xsd:string ; + dcterms:contributor <https://www.linkedin.com/in/mderoode> ; + dcterms:contributor "Alba Fernandez Izquierdo, UPM"^^xsd:string ; + dcterms:contributor <http://purl.org/net/mpoveda> ; + dcterms:contributor <http://www.garcia-castro.com/foaf.rdf#me> ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4inma#" ; + vann:preferredNamespacePrefix "s4inma" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341005/01.01.01_60/ts_10341005v010101p.pdf> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4s4inma/> ; + dcterms:description "SAREF4INMA is an extension of SAREF for the industry and manufacturing domain. SAREF4INMA focuses on extending SAREF for the industry and manufacturing domain to solve the lack of interoperability between various types of production equipment that produce items in a factory and, once outside the factory, between different organizations in the value chain to uniquely track back the produced items to the corresponding production equipment, batches, material and precise time in which they were manufactured. SAREF4INMA is specified and published by ETSI in the TS 103 410-5 associated to this ontology file. SAREF4INMA was created to be aligned with related initiatives in the smart industry and manufacturing domain in terms of modelling and standardization, such as the Reference Architecture Model for Industry 4.0 (RAMI), which combines several standards used by the various national initiatives in Europe that support digitalization in manufacturing. The full list of use cases, standards and requirements that guided the creation of SAREF4INMA are described in the associated ETSI TR 103 507. "^^xsd:string ; + dcterms:publisher <https://www.etsi.org/> . + + +################################################################# +# Annotation properties +################################################################# + +### http://purl.org/dc/terms/contributor +dcterms:contributor rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/created +dcterms:created rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/creator +dcterms:creator rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/description +dcterms:description rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/issued +dcterms:issued rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/license +dcterms:license rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/modified +dcterms:modified rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/publisher +dcterms:publisher rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/source +dcterms:source rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/title +dcterms:title rdf:type owl:AnnotationProperty . + + +### http://www.w3.org/2002/07/owl#maxQualifiedCardinality +owl:maxQualifiedCardinality rdf:type owl:AnnotationProperty . + + +################################################################# +# Object Properties +################################################################# + +### https://saref.etsi.org/saref4inma#belongsToCategory +s4inma:belongsToCategory rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:isCategoryOf ; + rdfs:comment "Link between an entity and its category" ; + rdfs:label "belongs to category" . + + +### https://saref.etsi.org/saref4inma#consistsOfBatch +s4inma:consistsOfBatch rdf:type owl:ObjectProperty ; + rdfs:comment "A relation to express that a batch can recursively consists of other batches"^^xsd:string ; + rdfs:label "consists of batch" . + + +### https://saref.etsi.org/saref4inma#consistsOfItem +s4inma:consistsOfItem rdf:type owl:ObjectProperty ; + rdfs:comment "A relation to express that an item can recursively consists of other Items"^^xsd:string ; + rdfs:label "consists of item" . + + +### https://saref.etsi.org/saref4inma#creates +s4inma:creates rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:isCreatedIn ; + rdfs:comment "A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)"^^xsd:string ; + rdfs:label "creates" . + + +### https://saref.etsi.org/saref4inma#hasFeatureOfInterest +s4inma:hasFeatureOfInterest rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:isFeatureOfInterestOf ; + rdfs:label "has feature of interest"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN12ID +s4inma:hasGTIN12ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN12ID ; + rdfs:label "has GTIN12ID "^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN13ID +s4inma:hasGTIN13ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN13ID ; + rdfs:label "has GTIN13ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN14ID +s4inma:hasGTIN14ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN14ID ; + rdfs:label "has GTIN14ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN8ID +s4inma:hasGTIN8ID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:GTIN8ID ; + rdfs:label "has GTIN8ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasIRDI +s4inma:hasIRDI rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:IRDI ; + rdfs:label "has IRDI"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasIdentifier +s4inma:hasIdentifier rdf:type owl:ObjectProperty ; + rdfs:range s4inma:ID ; + rdfs:comment "link between an entity and its unique identifier" ; + rdfs:label "has identifier" . + + +### https://saref.etsi.org/saref4inma#hasSize +s4inma:hasSize rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)"^^xsd:string ; + rdfs:label "has size" . + + +### https://saref.etsi.org/saref4inma#hasUUID +s4inma:hasUUID rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf s4inma:hasIdentifier ; + rdfs:range s4inma:UUID ; + rdfs:label "has UUID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasUpdate +s4inma:hasUpdate rdf:type owl:ObjectProperty ; + rdfs:comment "The newer version of a ItemCategory." ; + rdfs:label "has update" . + + +### https://saref.etsi.org/saref4inma#isCategoryOf +s4inma:isCategoryOf rdf:type owl:ObjectProperty ; + rdfs:label "is category of" . + + +### https://saref.etsi.org/saref4inma#isCreatedIn +s4inma:isCreatedIn rdf:type owl:ObjectProperty ; + rdfs:comment "An Item is created in an ItemBatch."^^xsd:string ; + rdfs:label "is created in" . + + +### https://saref.etsi.org/saref4inma#isFeatureOfInterestOf +s4inma:isFeatureOfInterestOf rdf:type owl:ObjectProperty ; + rdfs:label "is feature of interest of"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#isProducedBy +s4inma:isProducedBy rdf:type owl:ObjectProperty ; + owl:inverseOf s4inma:produces ; + rdfs:comment "Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines." ; + rdfs:label "is produced by" . + + +### https://saref.etsi.org/saref4inma#needsEquipment +s4inma:needsEquipment rdf:type owl:ObjectProperty ; + rdfs:comment "A relationship indicating that an entity needs a particular equipment to be produced"^^xsd:string ; + rdfs:label "needs equipment" . + + +### https://saref.etsi.org/saref4inma#produces +s4inma:produces rdf:type owl:ObjectProperty ; + rdfs:comment "ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)"^^xsd:string ; + rdfs:label "produces" . + + +### https://w3id.org/saref#hasFunction +saref:hasFunction rdf:type owl:ObjectProperty . + + +### https://w3id.org/saref#hasState +saref:hasState rdf:type owl:ObjectProperty ; + rdfs:label "has state" . + + +### https://w3id.org/saref#makesMeasurement +saref:makesMeasurement rdf:type owl:ObjectProperty . + + +### https://w3id.org/saref#measuresProperty +saref:measuresProperty rdf:type owl:ObjectProperty . + + +################################################################# +# Data properties +################################################################# + +### https://saref.etsi.org/saref4inma#hasCertificate +s4inma:hasCertificate rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate."^^rdfs:Literal ; + rdfs:label "has certificate" . + + +### https://saref.etsi.org/saref4inma#hasGTIN12IDValue +s4inma:hasGTIN12IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has GTIN12ID value"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN13IDValue +s4inma:hasGTIN13IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has GTIN13ID value"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN14IDValue +s4inma:hasGTIN14IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has GTIN14ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasGTIN8IDValue +s4inma:hasGTIN8IDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string . + + +### https://saref.etsi.org/saref4inma#hasIDValue +s4inma:hasIDValue rdf:type owl:DatatypeProperty ; + rdfs:range xsd:string ; + rdfs:comment "A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property "^^xsd:string ; + rdfs:label "has identifier value" . + + +### https://saref.etsi.org/saref4inma#hasIRDIValue +s4inma:hasIRDIValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has IRDI"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasModelNumber +s4inma:hasModelNumber rdf:type owl:DatatypeProperty ; + rdfs:comment "A relation to express the model number of a certain object (item, product, equipment, etc.) "^^xsd:string ; + rdfs:label "has model number" . + + +### https://saref.etsi.org/saref4inma#hasSerialNumber +s4inma:hasSerialNumber rdf:type owl:DatatypeProperty ; + rdfs:comment "A relation to describe the serial number of a certain Item, which is unique per Item."^^xsd:string ; + rdfs:label "has serial number" . + + +### https://saref.etsi.org/saref4inma#hasUUIDValue +s4inma:hasUUIDValue rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf s4inma:hasIDValue ; + rdfs:range xsd:string ; + rdfs:label "has UUID value"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#hasVersion +s4inma:hasVersion rdf:type owl:DatatypeProperty ; + rdfs:comment "An item has a certain revision or version number, whereas a higher number indicates a newer version."^^rdfs:Literal ; + rdfs:label "has version" . + + +################################################################# +# Classes +################################################################# + +### http://www.w3.org/2004/02/skos/core#ConceptScheme +skos:ConceptScheme rdf:type owl:Class . + + +### https://w3id.org/def/s4bldg#Building +<https://w3id.org/def/s4bldg#Building> rdf:type owl:Class . + + +### https://w3id.org/def/s4bldg#BuildingSpace +<https://w3id.org/def/s4bldg#BuildingSpace> rdf:type owl:Class . + + +### https://w3id.org/def/s4bldg#PhysicalObject +<https://w3id.org/def/s4bldg#PhysicalObject> rdf:type owl:Class . + + +### https://saref.etsi.org/saref4inma#ActualMeasurement +s4inma:ActualMeasurement rdf:type owl:Class ; + rdfs:subClassOf s4inma:Measurement ; + owl:disjointWith s4inma:ExpectedMeasurement ; + rdfs:comment "Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement."^^xsd:string ; + rdfs:label "Actual measurement" . + + +### https://saref.etsi.org/saref4inma#Area +s4inma:Area rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s."^^xsd:string ; + rdfs:label "Area" . + + +### https://saref.etsi.org/saref4inma#Batch +s4inma:Batch rdf:type owl:Class ; + rdfs:subClassOf owl:Thing , + saref:FeatureOfInterest , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:consistsOfBatch ; + owl:allValuesFrom s4inma:Batch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isFeatureOfInterestOf ; + owl:allValuesFrom s4inma:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:needsEquipment ; + owl:allValuesFrom s4inma:ProductionEquipment + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasSize ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4inma:Size + ] ; + rdfs:comment "A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). "^^xsd:string ; + rdfs:label "Batch" . + + +### https://saref.etsi.org/saref4inma#ExpectedMeasurement +s4inma:ExpectedMeasurement rdf:type owl:Class ; + rdfs:subClassOf s4inma:Measurement ; + rdfs:comment "Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement."^^xsd:string ; + rdfs:label "Expected measurement" . + + +### https://saref.etsi.org/saref4inma#Factory +s4inma:Factory rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#Building> ; + rdfs:comment "A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. "^^xsd:string ; + rdfs:label "Factory" . + + +### https://saref.etsi.org/saref4inma#GTIN12ID +s4inma:GTIN12ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-12 (UPC-A) is a 12-digit number used primarily in North America"^^xsd:string ; + rdfs:label "GTIN12ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#GTIN13ID +s4inma:GTIN13ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America"^^xsd:string ; + rdfs:label "GTIN13ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#GTIN14ID +s4inma:GTIN14ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels."^^xsd:string ; + rdfs:label "GTIN14ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#GTIN8ID +s4inma:GTIN8ID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America."^^rdfs:Literal ; + rdfs:label "GTIN18ID"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#ID +s4inma:ID rdf:type owl:Class ; + rdfs:subClassOf skos:ConceptScheme , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:someValuesFrom xsd:string + ] ; + rdfs:comment "A unique identifier."^^rdfs:Literal ; + rdfs:label "Identifier" . + + +### https://saref.etsi.org/saref4inma#IRDI +s4inma:IRDI rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier."^^rdfs:Literal ; + rdfs:label "IRDI" . + + +### https://saref.etsi.org/saref4inma#Item +s4inma:Item rdf:type owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:consistsOfItem ; + owl:allValuesFrom s4inma:Item + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCreatedIn ; + owl:allValuesFrom s4inma:ItemBatch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isFeatureOfInterestOf ; + owl:allValuesFrom s4inma:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCreatedIn ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass s4inma:ItemBatch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:allValuesFrom xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasSerialNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies)."^^rdfs:Literal ; + rdfs:label "Item" . + + +### https://saref.etsi.org/saref4inma#ItemBatch +s4inma:ItemBatch rdf:type owl:Class ; + rdfs:subClassOf s4inma:Batch , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:belongsToCategory ; + owl:allValuesFrom s4inma:ItemCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:creates ; + owl:allValuesFrom s4inma:Item + ] ; + rdfs:comment "A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag)."^^rdfs:Literal ; + rdfs:label "Item Batch" . + + +### https://saref.etsi.org/saref4inma#ItemCategory +s4inma:ItemCategory rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:someValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasUpdate ; + owl:allValuesFrom s4inma:ItemCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCategoryOf ; + owl:allValuesFrom s4inma:ItemBatch + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isProducedBy ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasModelNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasVersion ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar."^^xsd:string ; + rdfs:label "Item category" . + + +### https://saref.etsi.org/saref4inma#MaterialBatch +s4inma:MaterialBatch rdf:type owl:Class ; + rdfs:subClassOf s4inma:Batch , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:belongsToCategory ; + owl:allValuesFrom s4inma:MaterialCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasCertificate ; + owl:allValuesFrom xsd:string + ] ; + rdfs:comment "A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch."^^rdfs:Literal ; + rdfs:label "Material Batch" . + + +### https://saref.etsi.org/saref4inma#MaterialCategory +s4inma:MaterialCategory rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCategoryOf ; + owl:allValuesFrom s4inma:MaterialBatch + ] ; + rdfs:comment "A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar."^^xsd:string ; + rdfs:label "Material category" . + + +### https://saref.etsi.org/saref4inma#Measurement +s4inma:Measurement rdf:type owl:Class ; + rdfs:subClassOf saref:Measurement , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasFeatureOfInterest ; + owl:allValuesFrom [ rdf:type owl:Class ; + owl:unionOf ( s4inma:Batch + s4inma:Item + ) + ] + ] ; + rdfs:comment "A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values."^^xsd:string ; + rdfs:label "Measurement" . + + +### https://saref.etsi.org/saref4inma#ProductionEquipment +s4inma:ProductionEquipment rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#PhysicalObject> , + saref:Device , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:belongsToCategory ; + owl:allValuesFrom s4inma:ProductionEquipmentCategory + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIdentifier ; + owl:allValuesFrom s4inma:ID + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasFunction ; + owl:allValuesFrom s4inma:ProductionEquipmentFunction + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:allValuesFrom saref:State + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:makesMeasurement ; + owl:allValuesFrom s4inma:Measurement + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:measuresProperty ; + owl:allValuesFrom saref:Property + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasIDValue ; + owl:allValuesFrom xsd:string + ] ; + rdfs:comment "A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc."^^xsd:string ; + rdfs:label "ProductionEquipment" . + + +### https://saref.etsi.org/saref4inma#ProductionEquipmentCategory +s4inma:ProductionEquipmentCategory rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty s4inma:isCategoryOf ; + owl:allValuesFrom s4inma:ProductionEquipment + ] , + [ rdf:type owl:Restriction ; + owl:onProperty s4inma:hasModelNumber ; + owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onDataRange xsd:string + ] ; + rdfs:comment "A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories."^^rdfs:Literal ; + rdfs:label "Production equipment category" . + + +### https://saref.etsi.org/saref4inma#ProductionEquipmentFunction +s4inma:ProductionEquipmentFunction rdf:type owl:Class ; + rdfs:subClassOf owl:Thing , + saref:Function ; + rdfs:label "Production equipment function"^^xsd:string . + + +### https://saref.etsi.org/saref4inma#Site +s4inma:Site rdf:type owl:Class ; + rdfs:subClassOf <https://w3id.org/def/s4bldg#BuildingSpace> ; + rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas"^^xsd:string ; + rdfs:label "Site" . + + +### https://saref.etsi.org/saref4inma#Size +s4inma:Size rdf:type owl:Class ; + rdfs:subClassOf saref:Property ; + rdfs:comment "The amount of certain objects in a collection (e.g., size of a material batch)."^^xsd:string ; + rdfs:label "Size" . + + +### https://saref.etsi.org/saref4inma#UUID +s4inma:UUID rdf:type owl:Class ; + rdfs:subClassOf s4inma:ID ; + rdfs:comment "A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 \"Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)\" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005." ; + rdfs:label "UUID" . + + +### https://saref.etsi.org/saref4inma#WorkCenter +s4inma:WorkCenter rdf:type owl:Class ; + rdfs:subClassOf s4inma:ProductionEquipment ; + rdfs:comment "A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers."^^xsd:string ; + rdfs:label "Work center" . + + +### https://w3id.org/saref#Device +saref:Device rdf:type owl:Class . + + +### https://w3id.org/saref#FeatureOfInterest +saref:FeatureOfInterest rdf:type owl:Class . + + +### https://w3id.org/saref#Function +saref:Function rdf:type owl:Class . + + +### https://w3id.org/saref#Measurement +saref:Measurement rdf:type owl:Class . + + +### https://w3id.org/saref#Property +saref:Property rdf:type owl:Class . + + +### https://w3id.org/saref#State +saref:State rdf:type owl:Class . + + +################################################################# +# General axioms +################################################################# + +[ rdf:type owl:AllDisjointClasses ; + owl:members ( s4inma:Area + s4inma:Site + s4inma:WorkCenter + ) +] . + + +### Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4syst/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/latest/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4syst/latest/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/latest/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/latest/example.ttl b/src/main/resources/saref-portal-generator/public/saref4syst/latest/example.ttl new file mode 100644 index 0000000000000000000000000000000000000000..9e32d222ccee7cefdfa5937ae86742a477ec1b1c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/latest/example.ttl @@ -0,0 +1,64 @@ +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix s4syst: <https://saref.etsi.org/saref4syst#> . +@base <http://example.org/> . + + +<https://saref.etsi.org/saref4syst/example#> a owl:Ontology ; + owl:imports <https://saref.etsi.org/saref#> . + + +# -- the instantiation of the SAREF4SYST pattern. -- + +s4syst-ex:ElectricPowerSystem a owl:Class ; + rdfs:subClassOf s4syst:System ; + rdfs:label "Electric Power System"@en ; + rdfs:comment "The class of electric power systems."@en . + + +s4syst-ex:subElectricPowerSystemOf a owl:ObjectProperty ; + rdfs:subPropertyOf s4syst:subSystemOf ; + rdfs:label "sub electric power system of"@en . + + +# ... + + +# -- the instances -- + +<electric_vehicle> a s4syst:System . + +<electric_vehicle_service_equipment> a s4syst:System . + + +# Connected systems interact in some ways. +# The exact meaning of interact is defined by sub-properties of s4syst:connectedTo. + +<electric_vehicle> s4syst:connectedTo <electric_vehicle_service_equipment> . + + +# for example s4syst-ex:exchangesElectricityWith can be defined to specify that electric energy flows between the <electric_vehicle_service_equipment> and the electric vehicle <electric_vehicle>. + +<electric_vehicle> s4syst-ex:exchangesElectricityWith <electric_vehicle_service_equipment> . + +# A system can be a sub-system of another system. +<battery> s4syst:subSystemOf <electric_vehicle> . + +# Properties of subsystems somehow contribute to the properties of the super system. +# The exact meaning of this contribution is defined by sub properties of s4syst:subSystemOf. + +<fridge/1> s4syst-ex:subElectricPowerSystemOf <kitchen/1> . + + +# A connection between two s4syst:Systems, modelled by s4syst:connectedTo, +# describes the potential interactions between connected s4syst:Systems. +# A connection can be qualified using class s4syst:Connection. + +<connection> s4syst:connectsSystem <electric_vehicle> , <electric_vehicle_service_equipment> . + <electric_vehicle> s4syst:connectedThrough <connection> . + <electric_vehicle_service_equipment> s4syst:connectedThrough <connection> . + + +# A s4syst:System connects to other s4syst:Systems at connection points. +A connection point belongs to one and only one s4syst:System, and can be described using the class s4syst:ConnectionPoint. + +<electric_vehicle> s4syst:connectsAt <plug_high_voltage> , <normal_plug> , <three_phase_connection_point> . diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.html b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.html new file mode 100644 index 0000000000000000000000000000000000000000..fda582d4374a18b9bce4883724c5b18d217891da --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections</h1> + <p><strong>Official ETSI documentation for SAREF4SYST v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4SYST ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4SYST v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4syst.ttl">Turtle</a> or <a href="./saref4syst.rdf">RDF/XML</a>. Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4syst#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.n3 b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.n3 new file mode 100644 index 0000000000000000000000000000000000000000..4d8b8b19d33342b417321293e767f5075ccd23a9 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.n3 @@ -0,0 +1,176 @@ +@prefix gopi: <https://w3id.org/gopi/> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix s4syst: <https://saref.etsi.org/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix voaf: <http://purl.org/vocommons/voaf#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . + +<http://maxime-lefrancois.info/me#> + a foaf:Person ; + foaf:name "Maxime Lefrançois" . + +s4syst:Connection a owl:Class ; + rdfs:comment "The class of connections between systems. This class qualifies property s4syst:connectedTo. A connection describes potential interactions between systems. Any two connected systems are connected through a connection. A connection can connect more than two systems at the same time."@en ; + rdfs:label "Connection"@en ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystemAt ; + owl:someValuesFrom s4syst:ConnectionPoint + ] ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystem ; + owl:someValuesFrom s4syst:System + ] ; + owl:disjointWith s4syst:System ; + gopi:inModule s4syst:ConnectionModule . + +dcterms:description a owl:AnnotationProperty . + +dcterms:creator a owl:AnnotationProperty . + +s4syst:SystemModule a gopi:Module . + +s4syst:connectsSystemThrough + a owl:ObjectProperty ; + rdfs:comment "Links a connection point to one of the connections through which it connects its system."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:label "connects system through"@en ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystemAt ; + gopi:inModule s4syst:ConnectionPointModule . + +gopi:inModule a owl:AnnotationProperty . + +voaf:Vocabulary a owl:Class . + +s4syst:hasSubSystem a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to one of its sub systems."@en ; + rdfs:domain s4syst:System ; + rdfs:label "has sub system"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:subSystemOf ; + gopi:inModule s4syst:SystemModule . + +s4syst:subSystemOf a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of \"contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive."@en ; + rdfs:domain s4syst:System ; + rdfs:label "sub system of"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:hasSubSystem ; + gopi:inModule s4syst:SystemModule . + +s4syst:ConnectionPointModule + a gopi:Module . + +dcterms:issued a owl:AnnotationProperty . + +dcterms:created a owl:AnnotationProperty . + +s4syst:connectedThrough + a owl:ObjectProperty ; + rdfs:comment "Links a system to one of its connections to other systems."@en ; + rdfs:domain s4syst:System ; + rdfs:label "connected through"@en ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystem ; + owl:propertyChainAxiom ( s4syst:connectsAt s4syst:connectsSystemThrough ) ; + gopi:inModule s4syst:ConnectionModule . + +foaf:name a owl:DatatypeProperty . + +s4syst:System a owl:Class ; + rdfs:comment "The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem."@en ; + rdfs:label "System"@en ; + gopi:inModule s4syst:SystemModule . + +dcterms:publisher a owl:AnnotationProperty . + +gopi:Module a owl:Class . + +s4syst:connectsSystem + a owl:ObjectProperty ; + rdfs:comment "Links a connection to one of the systems it connects."@en ; + rdfs:domain s4syst:Connection ; + rdfs:label "connects system"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectedThrough ; + owl:propertyChainAxiom ( s4syst:connectsSystemAt s4syst:connectionPointOf ) ; + gopi:inModule s4syst:ConnectionModule . + +foaf:Person a owl:Class . + +s4syst:connectsAt a owl:InverseFunctionalProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to one of the connection points at which it connects."@en ; + rdfs:domain s4syst:System ; + rdfs:label "connects at"@en ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectionPointOf ; + gopi:inModule s4syst:ConnectionPointModule . + +s4syst:ConnectionModule + a gopi:Module . + +s4syst:connectedTo a owl:SymmetricProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of \"interact\" is defined by sub properties of s4syst:connectedTo. Property s4syst:connectedTo is symmetric. This property can be qualified using class s4syst:Connection, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected."@en ; + rdfs:domain s4syst:System ; + rdfs:label "connected to"@en ; + rdfs:range s4syst:System ; + gopi:inModule s4syst:SystemModule . + +s4syst:ConnectionPoint + a owl:Class ; + rdfs:comment "The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties s4syst:connectsSystem and s4syst:connectedThrough. A connection point belongs to exactly one system. Any system connected through a connection is connected at one of its connection points to the connection. The system of a connection point that is connected through a connection is itself connected through the connection."@en ; + rdfs:label "Connection Point"@en ; + rdfs:subClassOf [ owl:cardinality 1 ; + owl:onProperty s4syst:connectionPointOf + ] ; + owl:disjointWith s4syst:Connection , s4syst:System ; + gopi:inModule s4syst:ConnectionPointModule . + +dcterms:license a owl:AnnotationProperty . + +dcterms:title a owl:AnnotationProperty . + +s4syst:connectsSystemAt + a owl:ObjectProperty ; + rdfs:comment "Links a connection to one of the connection points at which it connects a system."@en ; + rdfs:domain s4syst:Connection ; + rdfs:label "connects system at"@en ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectsSystemThrough ; + gopi:inModule s4syst:ConnectionPointModule . + +<https://saref.etsi.org/saref4syst#> + a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + dcterms:created "2019-04-26"^^xsd:date ; + dcterms:description "SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2019-06-06"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4syst/> ; + dcterms:title "SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections"@en ; + vann:preferredNamespacePrefix "s4syst" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4syst#" ; + owl:versionIRI <https://saref.etsi.org/saref4syst/v1.1.1/saref4syst#> ; + owl:versionInfo "1.1.1" . + +vann:preferredNamespaceUri + a owl:AnnotationProperty . + +s4syst:connectionPointOf + a owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment "Links a connection point to the one and only one system it belongs to."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:label "connection point to"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectsAt ; + gopi:inModule s4syst:ConnectionPointModule . + +vann:preferredNamespacePrefix + a owl:AnnotationProperty . diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.rdf b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.rdf new file mode 100644 index 0000000000000000000000000000000000000000..b3c1b1e6fe7fcf7f062ab5ada1f9bb30ea002bc8 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.rdf @@ -0,0 +1,187 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:voaf="http://purl.org/vocommons/voaf#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:gopi="https://w3id.org/gopi/" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:foaf="http://xmlns.com/foaf/0.1/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:s4syst="https://saref.etsi.org/"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4syst#"> + <dcterms:description xml:lang="en">SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file.</dcterms:description> + <vann:preferredNamespacePrefix>s4syst</vann:preferredNamespacePrefix> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4syst#</vann:preferredNamespaceUri> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-04-26</dcterms:created> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4syst/"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:title xml:lang="en">SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections</dcterms:title> + <dcterms:contributor> + <foaf:Person rdf:about="http://maxime-lefrancois.info/me#"> + <foaf:name>Maxime Lefrançois</foaf:name> + </foaf:Person> + </dcterms:contributor> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-06</dcterms:modified> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4syst/v1.1.1/saref4syst#"/> + </owl:Ontology> + <owl:Class rdf:about="https://w3id.org/gopi/Module"/> + <owl:Class rdf:about="https://saref.etsi.org/System"> + <rdfs:comment xml:lang="en">The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem.</rdfs:comment> + <rdfs:label xml:lang="en">System</rdfs:label> + <gopi:inModule> + <gopi:Module rdf:about="https://saref.etsi.org/SystemModule"/> + </gopi:inModule> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/ConnectionPoint"> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/Connection"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://saref.etsi.org/System"/> + <rdfs:subClassOf rdf:parseType="Resource"> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#integer" + >1</owl:cardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/connectionPointOf"/> + </owl:onProperty> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties s4syst:connectsSystem and s4syst:connectedThrough. A connection point belongs to exactly one system. Any system connected through a connection is connected at one of its connection points to the connection. The system of a connection point that is connected through a connection is itself connected through the connection.</rdfs:comment> + <rdfs:label xml:lang="en">Connection Point</rdfs:label> + <gopi:inModule> + <gopi:Module rdf:about="https://saref.etsi.org/ConnectionPointModule"/> + </gopi:inModule> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"/> + <owl:Class rdf:about="http://purl.org/vocommons/voaf#Vocabulary"/> + <owl:Class rdf:about="https://saref.etsi.org/Connection"> + <owl:disjointWith rdf:resource="https://saref.etsi.org/System"/> + <rdfs:subClassOf rdf:parseType="Resource"> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"/> + </owl:onProperty> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:parseType="Resource"> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/System"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystem"/> + </owl:onProperty> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">The class of connections between systems. This class qualifies property s4syst:connectedTo. A connection describes potential interactions between systems. Any two connected systems are connected through a connection. A connection can connect more than two systems at the same time.</rdfs:comment> + <rdfs:label xml:lang="en">Connection</rdfs:label> + <gopi:inModule> + <gopi:Module rdf:about="https://saref.etsi.org/ConnectionModule"/> + </gopi:inModule> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemThrough"> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:comment xml:lang="en">Links a connection point to one of the connections through which it connects its system.</rdfs:comment> + <rdfs:label xml:lang="en">connects system through</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystem"> + <owl:propertyChainAxiom rdf:parseType="Collection"> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"/> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/connectionPointOf"/> + </owl:propertyChainAxiom> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectedThrough"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:comment xml:lang="en">Links a connection to one of the systems it connects.</rdfs:comment> + <rdfs:label xml:lang="en">connects system</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionModule"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectedThrough"> + <owl:propertyChainAxiom rdf:parseType="Collection"> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/connectsAt"/> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemThrough"/> + </owl:propertyChainAxiom> + <owl:inverseOf rdf:resource="https://saref.etsi.org/connectsSystem"/> + <rdfs:range rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to one of its connections to other systems.</rdfs:comment> + <rdfs:label xml:lang="en">connected through</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionModule"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/connectsSystemThrough"/> + <rdfs:range rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:comment xml:lang="en">Links a connection to one of the connection points at which it connects a system.</rdfs:comment> + <rdfs:label xml:lang="en">connects system at</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="http://xmlns.com/foaf/0.1/name"/> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/hasSubSystem"> + <owl:inverseOf> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/subSystemOf"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to one of its sub systems.</rdfs:comment> + <rdfs:label xml:lang="en">has sub system</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/SystemModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/subSystemOf"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/hasSubSystem"/> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of "contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive.</rdfs:comment> + <rdfs:label xml:lang="en">sub system of</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/SystemModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:SymmetricProperty rdf:about="https://saref.etsi.org/connectedTo"> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of "interact" is defined by sub properties of s4syst:connectedTo. Property s4syst:connectedTo is symmetric. This property can be qualified using class s4syst:Connection, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected.</rdfs:comment> + <rdfs:label xml:lang="en">connected to</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/SystemModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:SymmetricProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/connectionPointOf"> + <owl:inverseOf> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/connectsAt"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:comment xml:lang="en">Links a connection point to the one and only one system it belongs to.</rdfs:comment> + <rdfs:label xml:lang="en">connection point to</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:FunctionalProperty> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/connectsAt"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/connectionPointOf"/> + <rdfs:range rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to one of the connection points at which it connects.</rdfs:comment> + <rdfs:label xml:lang="en">connects at</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:InverseFunctionalProperty> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/publisher"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/created"/> + <owl:AnnotationProperty rdf:about="https://w3id.org/gopi/inModule"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/issued"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.ttl b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.ttl new file mode 100644 index 0000000000000000000000000000000000000000..5295d8335c1bab36019e4272d0208bfbd4785b44 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/latest/saref4syst.ttl @@ -0,0 +1,157 @@ +@prefix dcterms: <http://purl.org/dc/terms/> . +@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 foaf: <http://xmlns.com/foaf/0.1/> . +@prefix voaf: <http://purl.org/vocommons/voaf#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix s4syst: <https://saref.etsi.org/> . +@prefix gopi: <https://w3id.org/gopi/> . + +<https://saref.etsi.org/saref4syst#> a owl:Ontology ; + dcterms:title "SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4syst/v1.1.1/saref4syst#> ; + dcterms:created "2019-04-26"^^xsd:date ; + dcterms:modified "2019-06-06"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4syst#" ; + vann:preferredNamespacePrefix "s4syst" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4syst/> ; + dcterms:description "SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file."@en ; + dcterms:publisher <https://www.etsi.org/> . + +<http://maxime-lefrancois.info/me#> a foaf:Person ; + foaf:name "Maxime Lefrançois" . + +voaf:Vocabulary a owl:Class . +dcterms:title a owl:AnnotationProperty . +dcterms:issued a owl:AnnotationProperty . +dcterms:creator a owl:AnnotationProperty . +dcterms:publisher a owl:AnnotationProperty . +dcterms:description a owl:AnnotationProperty . +dcterms:license a owl:AnnotationProperty . +dcterms:created a owl:AnnotationProperty . +vann:preferredNamespacePrefix a owl:AnnotationProperty . +vann:preferredNamespaceUri a owl:AnnotationProperty . +foaf:Person a owl:Class . +foaf:name a owl:DatatypeProperty . +gopi:inModule a owl:AnnotationProperty . +gopi:Module a owl:Class . + +# systems + +s4syst:SystemModule a gopi:Module . + +s4syst:System a owl:Class ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "System"@en ; + rdfs:comment """The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem."""@en . + +s4syst:connectedTo a owl:ObjectProperty , owl:SymmetricProperty ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "connected to"@en ; + rdfs:comment """Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of "interact" is defined by sub properties of s4syst:connectedTo. Property s4syst:connectedTo is symmetric. This property can be qualified using class s4syst:Connection, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected."""@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:System . + +s4syst:subSystemOf a owl:ObjectProperty , owl:TransitiveProperty ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "sub system of"@en ; + rdfs:comment """Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of "contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive."""@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:hasSubSystem . + +s4syst:hasSubSystem a owl:ObjectProperty , owl:TransitiveProperty ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "has sub system"@en ; + rdfs:comment """Links a system to one of its sub systems."""@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:subSystemOf . + +# connections + +s4syst:ConnectionModule a gopi:Module . + +s4syst:Connection a owl:Class ; + gopi:inModule s4syst:ConnectionModule ; + rdfs:label "Connection"@en ; + rdfs:comment """The class of connections between systems. This class qualifies property s4syst:connectedTo. A connection describes potential interactions between systems. Any two connected systems are connected through a connection. A connection can connect more than two systems at the same time."""@en ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystem ; owl:someValuesFrom s4syst:System ] ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystemAt ; owl:someValuesFrom s4syst:ConnectionPoint ] ; + owl:disjointWith s4syst:System . + +s4syst:connectsSystem a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionModule ; + rdfs:label "connects system"@en ; + rdfs:comment "Links a connection to one of the systems it connects."@en ; + rdfs:domain s4syst:Connection ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectedThrough . + +s4syst:connectedThrough a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionModule ; + rdfs:label "connected through"@en ; + rdfs:comment "Links a system to one of its connections to other systems."@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystem . + +# s4syst:connectedTo owl:propertyChainAxiom ( s4syst:connectedThrough s4syst:connectsSystem ) . +# this axiom is not true: it would imply that every connected system is connected to itself + +# connection points + +s4syst:ConnectionPointModule a gopi:Module . + +s4syst:ConnectionPoint a owl:Class ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "Connection Point"@en ; + rdfs:comment """The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties s4syst:connectsSystem and s4syst:connectedThrough. A connection point belongs to exactly one system. Any system connected through a connection is connected at one of its connection points to the connection. The system of a connection point that is connected through a connection is itself connected through the connection."""@en ; + rdfs:subClassOf [ owl:onProperty s4syst:connectionPointOf ; owl:cardinality 1 ] ; + owl:disjointWith s4syst:System, s4syst:Connection . + +s4syst:connectedThrough owl:propertyChainAxiom ( s4syst:connectsAt s4syst:connectsSystemThrough ) . +s4syst:connectsSystem owl:propertyChainAxiom ( s4syst:connectsSystemAt s4syst:connectionPointOf ) . + +s4syst:connectsAt a owl:ObjectProperty, owl:InverseFunctionalProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connects at"@en ; + rdfs:comment "Links a system to one of the connection points at which it connects."@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectionPointOf . + +s4syst:connectionPointOf a owl:ObjectProperty, owl:FunctionalProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connection point to"@en ; + rdfs:comment "Links a connection point to the one and only one system it belongs to."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectsAt . + +s4syst:connectsSystemAt a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connects system at"@en ; + rdfs:comment "Links a connection to one of the connection points at which it connects a system."@en ; + rdfs:domain s4syst:Connection ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectsSystemThrough . + +s4syst:connectsSystemThrough a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connects system through"@en ; + rdfs:comment "Links a connection point to one of the connections through which it connects its system."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystemAt . + + diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/desktop.ini b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/example.ttl b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/example.ttl new file mode 100644 index 0000000000000000000000000000000000000000..9e32d222ccee7cefdfa5937ae86742a477ec1b1c --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/example.ttl @@ -0,0 +1,64 @@ +@prefix saref: <https://saref.etsi.org/saref#> . +@prefix s4syst: <https://saref.etsi.org/saref4syst#> . +@base <http://example.org/> . + + +<https://saref.etsi.org/saref4syst/example#> a owl:Ontology ; + owl:imports <https://saref.etsi.org/saref#> . + + +# -- the instantiation of the SAREF4SYST pattern. -- + +s4syst-ex:ElectricPowerSystem a owl:Class ; + rdfs:subClassOf s4syst:System ; + rdfs:label "Electric Power System"@en ; + rdfs:comment "The class of electric power systems."@en . + + +s4syst-ex:subElectricPowerSystemOf a owl:ObjectProperty ; + rdfs:subPropertyOf s4syst:subSystemOf ; + rdfs:label "sub electric power system of"@en . + + +# ... + + +# -- the instances -- + +<electric_vehicle> a s4syst:System . + +<electric_vehicle_service_equipment> a s4syst:System . + + +# Connected systems interact in some ways. +# The exact meaning of interact is defined by sub-properties of s4syst:connectedTo. + +<electric_vehicle> s4syst:connectedTo <electric_vehicle_service_equipment> . + + +# for example s4syst-ex:exchangesElectricityWith can be defined to specify that electric energy flows between the <electric_vehicle_service_equipment> and the electric vehicle <electric_vehicle>. + +<electric_vehicle> s4syst-ex:exchangesElectricityWith <electric_vehicle_service_equipment> . + +# A system can be a sub-system of another system. +<battery> s4syst:subSystemOf <electric_vehicle> . + +# Properties of subsystems somehow contribute to the properties of the super system. +# The exact meaning of this contribution is defined by sub properties of s4syst:subSystemOf. + +<fridge/1> s4syst-ex:subElectricPowerSystemOf <kitchen/1> . + + +# A connection between two s4syst:Systems, modelled by s4syst:connectedTo, +# describes the potential interactions between connected s4syst:Systems. +# A connection can be qualified using class s4syst:Connection. + +<connection> s4syst:connectsSystem <electric_vehicle> , <electric_vehicle_service_equipment> . + <electric_vehicle> s4syst:connectedThrough <connection> . + <electric_vehicle_service_equipment> s4syst:connectedThrough <connection> . + + +# A s4syst:System connects to other s4syst:Systems at connection points. +A connection point belongs to one and only one s4syst:System, and can be described using the class s4syst:ConnectionPoint. + +<electric_vehicle> s4syst:connectsAt <plug_high_voltage> , <normal_plug> , <three_phase_connection_point> . diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.html b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.html new file mode 100644 index 0000000000000000000000000000000000000000..fda582d4374a18b9bce4883724c5b18d217891da --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="../../favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="../../media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="../../media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="../../media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="../../media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="../../templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="../../lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="../../lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="../../lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="../../lode/owl.css" media="screen" /> --> + <script src="../../templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="../../templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="../../media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="../../media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="../../media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="../../images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="../../index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections</h1> + <p><strong>Official ETSI documentation for SAREF4SYST v1.1.1</strong><br>This page will soon contain the documentation of the SAREF4SYST ontology v1.1.1</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <p><strong><em>The documentation of SAREF4SYST v1.1.1 will be available here soon. The source of the ontology are available as <a href="./saref4syst.ttl">Turtle</a> or <a href="./saref4syst.rdf">RDF/XML</a>. Visualize it with <a href="http://www.visualdataweb.de/webvowl/#iri=https://saref.etsi.org/saref4syst#">VOWL</a></em></strong></p> + </div> + </section> + <section class="g-wrapper"> + <div class="g-container"> + <p>SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file.</p> + </div> + </section> + </div> + <footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </footer> + </div> +</body> + +</html> \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.n3 b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.n3 new file mode 100644 index 0000000000000000000000000000000000000000..4d8b8b19d33342b417321293e767f5075ccd23a9 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.n3 @@ -0,0 +1,176 @@ +@prefix gopi: <https://w3id.org/gopi/> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xml: <http://www.w3.org/XML/1998/namespace> . +@prefix s4syst: <https://saref.etsi.org/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix voaf: <http://purl.org/vocommons/voaf#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . + +<http://maxime-lefrancois.info/me#> + a foaf:Person ; + foaf:name "Maxime Lefrançois" . + +s4syst:Connection a owl:Class ; + rdfs:comment "The class of connections between systems. This class qualifies property s4syst:connectedTo. A connection describes potential interactions between systems. Any two connected systems are connected through a connection. A connection can connect more than two systems at the same time."@en ; + rdfs:label "Connection"@en ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystemAt ; + owl:someValuesFrom s4syst:ConnectionPoint + ] ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystem ; + owl:someValuesFrom s4syst:System + ] ; + owl:disjointWith s4syst:System ; + gopi:inModule s4syst:ConnectionModule . + +dcterms:description a owl:AnnotationProperty . + +dcterms:creator a owl:AnnotationProperty . + +s4syst:SystemModule a gopi:Module . + +s4syst:connectsSystemThrough + a owl:ObjectProperty ; + rdfs:comment "Links a connection point to one of the connections through which it connects its system."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:label "connects system through"@en ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystemAt ; + gopi:inModule s4syst:ConnectionPointModule . + +gopi:inModule a owl:AnnotationProperty . + +voaf:Vocabulary a owl:Class . + +s4syst:hasSubSystem a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to one of its sub systems."@en ; + rdfs:domain s4syst:System ; + rdfs:label "has sub system"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:subSystemOf ; + gopi:inModule s4syst:SystemModule . + +s4syst:subSystemOf a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of \"contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive."@en ; + rdfs:domain s4syst:System ; + rdfs:label "sub system of"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:hasSubSystem ; + gopi:inModule s4syst:SystemModule . + +s4syst:ConnectionPointModule + a gopi:Module . + +dcterms:issued a owl:AnnotationProperty . + +dcterms:created a owl:AnnotationProperty . + +s4syst:connectedThrough + a owl:ObjectProperty ; + rdfs:comment "Links a system to one of its connections to other systems."@en ; + rdfs:domain s4syst:System ; + rdfs:label "connected through"@en ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystem ; + owl:propertyChainAxiom ( s4syst:connectsAt s4syst:connectsSystemThrough ) ; + gopi:inModule s4syst:ConnectionModule . + +foaf:name a owl:DatatypeProperty . + +s4syst:System a owl:Class ; + rdfs:comment "The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem."@en ; + rdfs:label "System"@en ; + gopi:inModule s4syst:SystemModule . + +dcterms:publisher a owl:AnnotationProperty . + +gopi:Module a owl:Class . + +s4syst:connectsSystem + a owl:ObjectProperty ; + rdfs:comment "Links a connection to one of the systems it connects."@en ; + rdfs:domain s4syst:Connection ; + rdfs:label "connects system"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectedThrough ; + owl:propertyChainAxiom ( s4syst:connectsSystemAt s4syst:connectionPointOf ) ; + gopi:inModule s4syst:ConnectionModule . + +foaf:Person a owl:Class . + +s4syst:connectsAt a owl:InverseFunctionalProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to one of the connection points at which it connects."@en ; + rdfs:domain s4syst:System ; + rdfs:label "connects at"@en ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectionPointOf ; + gopi:inModule s4syst:ConnectionPointModule . + +s4syst:ConnectionModule + a gopi:Module . + +s4syst:connectedTo a owl:SymmetricProperty , owl:ObjectProperty ; + rdfs:comment "Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of \"interact\" is defined by sub properties of s4syst:connectedTo. Property s4syst:connectedTo is symmetric. This property can be qualified using class s4syst:Connection, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected."@en ; + rdfs:domain s4syst:System ; + rdfs:label "connected to"@en ; + rdfs:range s4syst:System ; + gopi:inModule s4syst:SystemModule . + +s4syst:ConnectionPoint + a owl:Class ; + rdfs:comment "The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties s4syst:connectsSystem and s4syst:connectedThrough. A connection point belongs to exactly one system. Any system connected through a connection is connected at one of its connection points to the connection. The system of a connection point that is connected through a connection is itself connected through the connection."@en ; + rdfs:label "Connection Point"@en ; + rdfs:subClassOf [ owl:cardinality 1 ; + owl:onProperty s4syst:connectionPointOf + ] ; + owl:disjointWith s4syst:Connection , s4syst:System ; + gopi:inModule s4syst:ConnectionPointModule . + +dcterms:license a owl:AnnotationProperty . + +dcterms:title a owl:AnnotationProperty . + +s4syst:connectsSystemAt + a owl:ObjectProperty ; + rdfs:comment "Links a connection to one of the connection points at which it connects a system."@en ; + rdfs:domain s4syst:Connection ; + rdfs:label "connects system at"@en ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectsSystemThrough ; + gopi:inModule s4syst:ConnectionPointModule . + +<https://saref.etsi.org/saref4syst#> + a owl:Ontology ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + dcterms:created "2019-04-26"^^xsd:date ; + dcterms:description "SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file."@en ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + dcterms:modified "2019-06-06"^^xsd:date ; + dcterms:publisher <https://www.etsi.org/> ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4syst/> ; + dcterms:title "SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections"@en ; + vann:preferredNamespacePrefix "s4syst" ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4syst#" ; + owl:versionIRI <https://saref.etsi.org/saref4syst/v1.1.1/saref4syst#> ; + owl:versionInfo "1.1.1" . + +vann:preferredNamespaceUri + a owl:AnnotationProperty . + +s4syst:connectionPointOf + a owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment "Links a connection point to the one and only one system it belongs to."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:label "connection point to"@en ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectsAt ; + gopi:inModule s4syst:ConnectionPointModule . + +vann:preferredNamespacePrefix + a owl:AnnotationProperty . diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.rdf b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.rdf new file mode 100644 index 0000000000000000000000000000000000000000..b3c1b1e6fe7fcf7f062ab5ada1f9bb30ea002bc8 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.rdf @@ -0,0 +1,187 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:dcterms="http://purl.org/dc/terms/" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:voaf="http://purl.org/vocommons/voaf#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:gopi="https://w3id.org/gopi/" + xmlns:vann="http://purl.org/vocab/vann/" + xmlns:foaf="http://xmlns.com/foaf/0.1/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:s4syst="https://saref.etsi.org/"> + <owl:Ontology rdf:about="https://saref.etsi.org/saref4syst#"> + <dcterms:description xml:lang="en">SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file.</dcterms:description> + <vann:preferredNamespacePrefix>s4syst</vann:preferredNamespacePrefix> + <vann:preferredNamespaceUri>https://saref.etsi.org/saref4syst#</vann:preferredNamespaceUri> + <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-11</dcterms:issued> + <owl:versionInfo>1.1.1</owl:versionInfo> + <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-04-26</dcterms:created> + <dcterms:license rdf:resource="https://forge.etsi.org/etsi-software-license"/> + <dcterms:source rdf:resource="https://forge.etsi.org/rep/SAREF/saref4syst/"/> + <dcterms:publisher rdf:resource="https://www.etsi.org/"/> + <dcterms:title xml:lang="en">SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections</dcterms:title> + <dcterms:contributor> + <foaf:Person rdf:about="http://maxime-lefrancois.info/me#"> + <foaf:name>Maxime Lefrançois</foaf:name> + </foaf:Person> + </dcterms:contributor> + <rdfs:comment>This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge.</rdfs:comment> + <dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date" + >2019-06-06</dcterms:modified> + <owl:versionIRI rdf:resource="https://saref.etsi.org/saref4syst/v1.1.1/saref4syst#"/> + </owl:Ontology> + <owl:Class rdf:about="https://w3id.org/gopi/Module"/> + <owl:Class rdf:about="https://saref.etsi.org/System"> + <rdfs:comment xml:lang="en">The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem.</rdfs:comment> + <rdfs:label xml:lang="en">System</rdfs:label> + <gopi:inModule> + <gopi:Module rdf:about="https://saref.etsi.org/SystemModule"/> + </gopi:inModule> + </owl:Class> + <owl:Class rdf:about="https://saref.etsi.org/ConnectionPoint"> + <owl:disjointWith> + <owl:Class rdf:about="https://saref.etsi.org/Connection"/> + </owl:disjointWith> + <owl:disjointWith rdf:resource="https://saref.etsi.org/System"/> + <rdfs:subClassOf rdf:parseType="Resource"> + <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#integer" + >1</owl:cardinality> + <owl:onProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/connectionPointOf"/> + </owl:onProperty> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties s4syst:connectsSystem and s4syst:connectedThrough. A connection point belongs to exactly one system. Any system connected through a connection is connected at one of its connection points to the connection. The system of a connection point that is connected through a connection is itself connected through the connection.</rdfs:comment> + <rdfs:label xml:lang="en">Connection Point</rdfs:label> + <gopi:inModule> + <gopi:Module rdf:about="https://saref.etsi.org/ConnectionPointModule"/> + </gopi:inModule> + </owl:Class> + <owl:Class rdf:about="http://xmlns.com/foaf/0.1/Person"/> + <owl:Class rdf:about="http://purl.org/vocommons/voaf#Vocabulary"/> + <owl:Class rdf:about="https://saref.etsi.org/Connection"> + <owl:disjointWith rdf:resource="https://saref.etsi.org/System"/> + <rdfs:subClassOf rdf:parseType="Resource"> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"/> + </owl:onProperty> + </rdfs:subClassOf> + <rdfs:subClassOf rdf:parseType="Resource"> + <owl:someValuesFrom rdf:resource="https://saref.etsi.org/System"/> + <owl:onProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystem"/> + </owl:onProperty> + </rdfs:subClassOf> + <rdfs:comment xml:lang="en">The class of connections between systems. This class qualifies property s4syst:connectedTo. A connection describes potential interactions between systems. Any two connected systems are connected through a connection. A connection can connect more than two systems at the same time.</rdfs:comment> + <rdfs:label xml:lang="en">Connection</rdfs:label> + <gopi:inModule> + <gopi:Module rdf:about="https://saref.etsi.org/ConnectionModule"/> + </gopi:inModule> + </owl:Class> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemThrough"> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:comment xml:lang="en">Links a connection point to one of the connections through which it connects its system.</rdfs:comment> + <rdfs:label xml:lang="en">connects system through</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystem"> + <owl:propertyChainAxiom rdf:parseType="Collection"> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"/> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/connectionPointOf"/> + </owl:propertyChainAxiom> + <owl:inverseOf> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectedThrough"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:comment xml:lang="en">Links a connection to one of the systems it connects.</rdfs:comment> + <rdfs:label xml:lang="en">connects system</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionModule"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectedThrough"> + <owl:propertyChainAxiom rdf:parseType="Collection"> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/connectsAt"/> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemThrough"/> + </owl:propertyChainAxiom> + <owl:inverseOf rdf:resource="https://saref.etsi.org/connectsSystem"/> + <rdfs:range rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to one of its connections to other systems.</rdfs:comment> + <rdfs:label xml:lang="en">connected through</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionModule"/> + </owl:ObjectProperty> + <owl:ObjectProperty rdf:about="https://saref.etsi.org/connectsSystemAt"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/connectsSystemThrough"/> + <rdfs:range rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/Connection"/> + <rdfs:comment xml:lang="en">Links a connection to one of the connection points at which it connects a system.</rdfs:comment> + <rdfs:label xml:lang="en">connects system at</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + </owl:ObjectProperty> + <owl:DatatypeProperty rdf:about="http://xmlns.com/foaf/0.1/name"/> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/hasSubSystem"> + <owl:inverseOf> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/subSystemOf"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to one of its sub systems.</rdfs:comment> + <rdfs:label xml:lang="en">has sub system</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/SystemModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:TransitiveProperty rdf:about="https://saref.etsi.org/subSystemOf"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/hasSubSystem"/> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of "contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive.</rdfs:comment> + <rdfs:label xml:lang="en">sub system of</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/SystemModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:TransitiveProperty> + <owl:SymmetricProperty rdf:about="https://saref.etsi.org/connectedTo"> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of "interact" is defined by sub properties of s4syst:connectedTo. Property s4syst:connectedTo is symmetric. This property can be qualified using class s4syst:Connection, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected.</rdfs:comment> + <rdfs:label xml:lang="en">connected to</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/SystemModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:SymmetricProperty> + <owl:FunctionalProperty rdf:about="https://saref.etsi.org/connectionPointOf"> + <owl:inverseOf> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/connectsAt"/> + </owl:inverseOf> + <rdfs:range rdf:resource="https://saref.etsi.org/System"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:comment xml:lang="en">Links a connection point to the one and only one system it belongs to.</rdfs:comment> + <rdfs:label xml:lang="en">connection point to</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:FunctionalProperty> + <owl:InverseFunctionalProperty rdf:about="https://saref.etsi.org/connectsAt"> + <owl:inverseOf rdf:resource="https://saref.etsi.org/connectionPointOf"/> + <rdfs:range rdf:resource="https://saref.etsi.org/ConnectionPoint"/> + <rdfs:domain rdf:resource="https://saref.etsi.org/System"/> + <rdfs:comment xml:lang="en">Links a system to one of the connection points at which it connects.</rdfs:comment> + <rdfs:label xml:lang="en">connects at</rdfs:label> + <gopi:inModule rdf:resource="https://saref.etsi.org/ConnectionPointModule"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + </owl:InverseFunctionalProperty> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/creator"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/publisher"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/created"/> + <owl:AnnotationProperty rdf:about="https://w3id.org/gopi/inModule"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/issued"/> + <owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespaceUri"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license"/> + <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/> +</rdf:RDF> diff --git a/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.ttl b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.ttl new file mode 100644 index 0000000000000000000000000000000000000000..5295d8335c1bab36019e4272d0208bfbd4785b44 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/saref4syst/v1.1.1/saref4syst.ttl @@ -0,0 +1,157 @@ +@prefix dcterms: <http://purl.org/dc/terms/> . +@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 foaf: <http://xmlns.com/foaf/0.1/> . +@prefix voaf: <http://purl.org/vocommons/voaf#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix skos: <http://www.w3.org/2004/02/skos/core#> . +@prefix s4syst: <https://saref.etsi.org/> . +@prefix gopi: <https://w3id.org/gopi/> . + +<https://saref.etsi.org/saref4syst#> a owl:Ontology ; + dcterms:title "SAREF4SYST: an extension of SAREF for typology of systems and their inter-connections"@en ; + owl:versionInfo "1.1.1" ; + owl:versionIRI <https://saref.etsi.org/saref4syst/v1.1.1/saref4syst#> ; + dcterms:created "2019-04-26"^^xsd:date ; + dcterms:modified "2019-06-06"^^xsd:date ; + dcterms:issued "2019-06-11"^^xsd:date ; + dcterms:contributor <http://maxime-lefrancois.info/me#> ; + vann:preferredNamespaceUri "https://saref.etsi.org/saref4syst#" ; + vann:preferredNamespacePrefix "s4syst" ; + dcterms:license <https://forge.etsi.org/etsi-software-license> ; + rdfs:comment "This ontology has been manually edited for publication on the ETSI portal and consolidation of metadata in the context of STF-556. More work is required to update the sources on the ETSI forge." ; + dcterms:source <https://forge.etsi.org/rep/SAREF/saref4syst/> ; + dcterms:description "SAREF4SYST is a generic extension of SAREF that defines ontology patterns which can then be instantiated for different domains. SAREF4SYST defines Systems, Connections between systems, and Connection Points at which systems may be connected. These core concepts can be used generically to define the topology of features of interest, and are specialized for multiple domains. This ontology patterns can be instantiated for different domains. For example to describe zones inside a building (systems), that share a frontier (connections). SAREF4SYST has two main aims: on the one hand, to extend SAREF with the capacility or representing general topology of systems and how they are connected or interact, and on the other hand, to exemplify how ontology patterns may help to ensure an homogeneous structure of the overall SAREF ontology and speed up the development of extensions. SAREF4SYST is specified and published by ETSI in the TS 103 548 associated to this ontology file."@en ; + dcterms:publisher <https://www.etsi.org/> . + +<http://maxime-lefrancois.info/me#> a foaf:Person ; + foaf:name "Maxime Lefrançois" . + +voaf:Vocabulary a owl:Class . +dcterms:title a owl:AnnotationProperty . +dcterms:issued a owl:AnnotationProperty . +dcterms:creator a owl:AnnotationProperty . +dcterms:publisher a owl:AnnotationProperty . +dcterms:description a owl:AnnotationProperty . +dcterms:license a owl:AnnotationProperty . +dcterms:created a owl:AnnotationProperty . +vann:preferredNamespacePrefix a owl:AnnotationProperty . +vann:preferredNamespaceUri a owl:AnnotationProperty . +foaf:Person a owl:Class . +foaf:name a owl:DatatypeProperty . +gopi:inModule a owl:AnnotationProperty . +gopi:Module a owl:Class . + +# systems + +s4syst:SystemModule a gopi:Module . + +s4syst:System a owl:Class ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "System"@en ; + rdfs:comment """The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem."""@en . + +s4syst:connectedTo a owl:ObjectProperty , owl:SymmetricProperty ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "connected to"@en ; + rdfs:comment """Links a system to a system it is connected to. Connected systems interact in some way. The exact meaning of "interact" is defined by sub properties of s4syst:connectedTo. Property s4syst:connectedTo is symmetric. This property can be qualified using class s4syst:Connection, which connects the two systems. If there is a connection between several systems, then one may infer these systems are pairwise connected."""@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:System . + +s4syst:subSystemOf a owl:ObjectProperty , owl:TransitiveProperty ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "sub system of"@en ; + rdfs:comment """Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of "contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive."""@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:hasSubSystem . + +s4syst:hasSubSystem a owl:ObjectProperty , owl:TransitiveProperty ; + gopi:inModule s4syst:SystemModule ; + rdfs:label "has sub system"@en ; + rdfs:comment """Links a system to one of its sub systems."""@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:subSystemOf . + +# connections + +s4syst:ConnectionModule a gopi:Module . + +s4syst:Connection a owl:Class ; + gopi:inModule s4syst:ConnectionModule ; + rdfs:label "Connection"@en ; + rdfs:comment """The class of connections between systems. This class qualifies property s4syst:connectedTo. A connection describes potential interactions between systems. Any two connected systems are connected through a connection. A connection can connect more than two systems at the same time."""@en ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystem ; owl:someValuesFrom s4syst:System ] ; + rdfs:subClassOf [ owl:onProperty s4syst:connectsSystemAt ; owl:someValuesFrom s4syst:ConnectionPoint ] ; + owl:disjointWith s4syst:System . + +s4syst:connectsSystem a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionModule ; + rdfs:label "connects system"@en ; + rdfs:comment "Links a connection to one of the systems it connects."@en ; + rdfs:domain s4syst:Connection ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectedThrough . + +s4syst:connectedThrough a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionModule ; + rdfs:label "connected through"@en ; + rdfs:comment "Links a system to one of its connections to other systems."@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystem . + +# s4syst:connectedTo owl:propertyChainAxiom ( s4syst:connectedThrough s4syst:connectsSystem ) . +# this axiom is not true: it would imply that every connected system is connected to itself + +# connection points + +s4syst:ConnectionPointModule a gopi:Module . + +s4syst:ConnectionPoint a owl:Class ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "Connection Point"@en ; + rdfs:comment """The class of connection points of systems, at which they may be connected to other systems. This class qualifies properties s4syst:connectsSystem and s4syst:connectedThrough. A connection point belongs to exactly one system. Any system connected through a connection is connected at one of its connection points to the connection. The system of a connection point that is connected through a connection is itself connected through the connection."""@en ; + rdfs:subClassOf [ owl:onProperty s4syst:connectionPointOf ; owl:cardinality 1 ] ; + owl:disjointWith s4syst:System, s4syst:Connection . + +s4syst:connectedThrough owl:propertyChainAxiom ( s4syst:connectsAt s4syst:connectsSystemThrough ) . +s4syst:connectsSystem owl:propertyChainAxiom ( s4syst:connectsSystemAt s4syst:connectionPointOf ) . + +s4syst:connectsAt a owl:ObjectProperty, owl:InverseFunctionalProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connects at"@en ; + rdfs:comment "Links a system to one of the connection points at which it connects."@en ; + rdfs:domain s4syst:System ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectionPointOf . + +s4syst:connectionPointOf a owl:ObjectProperty, owl:FunctionalProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connection point to"@en ; + rdfs:comment "Links a connection point to the one and only one system it belongs to."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:range s4syst:System ; + owl:inverseOf s4syst:connectsAt . + +s4syst:connectsSystemAt a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connects system at"@en ; + rdfs:comment "Links a connection to one of the connection points at which it connects a system."@en ; + rdfs:domain s4syst:Connection ; + rdfs:range s4syst:ConnectionPoint ; + owl:inverseOf s4syst:connectsSystemThrough . + +s4syst:connectsSystemThrough a owl:ObjectProperty ; + gopi:inModule s4syst:ConnectionPointModule ; + rdfs:label "connects system through"@en ; + rdfs:comment "Links a connection point to one of the connections through which it connects its system."@en ; + rdfs:domain s4syst:ConnectionPoint ; + rdfs:range s4syst:Connection ; + owl:inverseOf s4syst:connectsSystemAt . + + diff --git a/src/main/resources/saref-portal-generator/public/templates/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/custom_19.css b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/custom_19.css new file mode 100644 index 0000000000000000000000000000000000000000..5f54856503d884523471f7a672576c455a01b8a2 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/custom_19.css @@ -0,0 +1,11 @@ +/* GANTRY5 DEVELOPMENT MODE ENABLED. + + WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost! + + For more information on modifying CSS, please read: + + http://docs.gantry.org/gantry5/configure/styles + http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet + */ + +/* @import "custom.scss" */ \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/helium-joomla_19.css b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/helium-joomla_19.css new file mode 100644 index 0000000000000000000000000000000000000000..7ec59de764e0290141d1dcf55b13989b6223eb92 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/helium-joomla_19.css @@ -0,0 +1,2607 @@ +/* GANTRY5 DEVELOPMENT MODE ENABLED. + + WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost! + + For more information on modifying CSS, please read: + + http://docs.gantry.org/gantry5/configure/styles + http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet + */ + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 12, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/mixins/_utilities.scss */ + +/* line 9, media/gantry5/engines/nucleus/scss/nucleus/mixins/_utilities.scss */ + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert { + border-radius: 0.1875rem; + padding: 0.938rem; + margin-bottom: 1.5rem; + text-shadow: none; +} + +/* line 9, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert { + background-color: #fcf8e3; + border: 1px solid #fbeed5; + border-radius: 4px; +} + +/* line 15, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert, +.alert h4 { + color: #c09853; +} + +/* line 20, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert h4 { + margin: 0; +} + +/* line 24, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert .close { + top: -2px; + right: -21px; + line-height: 20px; +} + +/* line 30, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +/* line 36, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-success h4 { + color: #468847; +} + +/* line 40, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +/* line 47, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} + +/* line 52, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +/* line 58, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-info h4 { + color: #3a87ad; +} + +/* line 62, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +/* line 67, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-block>p, +.alert-block>ul { + margin-bottom: 0; +} + +/* line 72, media/gantry5/engines/nucleus/scss/nucleus/theme/_alerts.scss */ + +.alert-block p+p { + margin-top: 5px; +} + +/* line 1, media/gantry5/engines/nucleus/scss/joomla/theme/_forms.scss */ + +legend { + font-size: 1.3rem; + line-height: 1.5; +} + +/* line 6, media/gantry5/engines/nucleus/scss/joomla/theme/_forms.scss */ + +legend small { + font-size: 0.8rem; +} + +/* line 10, media/gantry5/engines/nucleus/scss/joomla/theme/_forms.scss */ + +.input-prepend>.add-on, +.input-append>.add-on { + line-height: 1.5; +} + +/* line 1, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .btn-toolbar .btn, +.pager.pagenav a, +p.readmore .btn, +.contact .form-actions .btn, +#contact-form .controls .btn-primary.validate, +.profile .btn, +.login .btn, +.logout .btn, +.registration .btn, +.profile-edit .btn, +.remind .btn, +.reset .btn, +.search #searchForm .btn, +.finder #searchForm .btn, +.search #search-form .btn, +.finder #search-form .btn { + display: inline-block; + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 600; + font-size: 0.8rem; + line-height: 1.15; + letter-spacing: 0.1rem; + text-transform: uppercase; + background: #007dc3; + color: #fff; + border: 1px solid transparent; + border-radius: 2.5rem; + margin: 0 0 0.5rem 0; + padding: 1.5rem 3.125rem; + vertical-align: middle; + text-shadow: none; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + transition: all 0.2s; +} + +/* line 19, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .btn-toolbar .btn:hover, +.pager.pagenav a:hover, +p.readmore .btn:hover, +.contact .form-actions .btn:hover, +#contact-form .controls .btn-primary.validate:hover, +.profile .btn:hover, +.login .btn:hover, +.logout .btn:hover, +.registration .btn:hover, +.profile-edit .btn:hover, +.remind .btn:hover, +.reset .btn:hover, +.search #searchForm .btn:hover, +.finder #searchForm .btn:hover, +.search #search-form .btn:hover, +.finder #search-form .btn:hover, +.edit.item-page .btn-toolbar .btn:active, +.pager.pagenav a:active, +p.readmore .btn:active, +.contact .form-actions .btn:active, +#contact-form .controls .btn-primary.validate:active, +.profile .btn:active, +.login .btn:active, +.logout .btn:active, +.registration .btn:active, +.profile-edit .btn:active, +.remind .btn:active, +.reset .btn:active, +.search #searchForm .btn:active, +.finder #searchForm .btn:active, +.search #search-form .btn:active, +.finder #search-form .btn:active, +.edit.item-page .btn-toolbar .btn:focus, +.pager.pagenav a:focus, +p.readmore .btn:focus, +.contact .form-actions .btn:focus, +#contact-form .controls .btn-primary.validate:focus, +.profile .btn:focus, +.login .btn:focus, +.logout .btn:focus, +.registration .btn:focus, +.profile-edit .btn:focus, +.remind .btn:focus, +.reset .btn:focus, +.search #searchForm .btn:focus, +.finder #searchForm .btn:focus, +.search #search-form .btn:focus, +.finder #search-form .btn:focus { + background: #005c90; + color: #fff; +} + +/* line 26, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn { + border-radius: 0.25rem; + border: 0; + color: #3a444a; + box-shadow: none; +} + +/* line 32, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn span { + padding: 0; + margin: 0; +} + +/* line 38, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn-mini { + margin: 0.5rem 0; +} + +/* line 42, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn-primary { + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 600; + font-size: 0.8rem; + line-height: 1.15; + letter-spacing: 0.1rem; + text-transform: uppercase; + background: #007dc3; + color: #fff; + border: 1px solid transparent; + vertical-align: middle; + text-shadow: none; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + transition: all 0.2s; +} + +/* line 56, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn-primary:hover, +.btn-primary:active, +.btn-primary:focus { + background: #005c90; + color: #fff; +} + +/* line 62, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn-group>.btn.dropdown-toggle { + background: #e0e0e0; +} + +/* line 66, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn-group.open .btn-primary.dropdown-toggle { + background: #349b2e; +} + +/* line 70, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.dropdown-menu>li>a:hover, +.dropdown-menu>li>a:focus, +.dropdown-submenu:hover>a, +.dropdown-submenu:focus>a { + background-image: none; + background: #349b2e; +} + +/* line 75, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.btn-link { + color: #007dc3; +} + +/* line 80, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +table.table-bordered { + border-collapse: separate; + *border-collapse: collapse; +} + +/* line 84, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +table.table-bordered th { + background-color: #eceff3; +} + +/* line 88, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +table.table-bordered thead th { + background-color: #dce2e9; +} + +/* line 93, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.table-striped tbody tr:nth-child(2n+1) td, +.table-striped tbody tr:nth-child(2n+1) th { + background: #eceff3; +} + +/* line 97, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 98, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.table-hover tbody tr:hover>td, +.table-hover tbody tr:hover>th { + background: #e3e7ed; +} + +/* line 103, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.table, +.table-bordered { + border-color: #e0e0e5 #e0e0e5 #e0e0e5 transparent; +} + +/* line 106, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.table th, +.table-bordered th, +.table td, +.table-bordered td { + border-left-color: #e0e0e5; +} + +/* line 112, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 113, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .inputbox, +.edit.item-page .chzn-choices { + border-radius: 6px; +} + +/* line 118, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 119, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .input-append .inputbox { + border-radius: 6px 0 0 6px; +} + +/* line 123, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .input-append button { + border-radius: 0 6px 6px 0; +} + +/* line 128, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 129, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .btn-toolbar .btn { + font-size: 0.6rem; + padding: 1.1rem 2.725rem; + margin-left: 5px; +} + +/* line 135, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.edit.item-page .btn-toolbar .btn span { + margin-right: 5px; +} + +/* line 143, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.label, +.badge { + vertical-align: middle; + font-size: 0.8rem; + font-weight: 400; +} + +/* line 150, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.label-info, +.badge-info { + background: #349b2e; +} + +/* line 154, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.label-info[href], +.badge-info[href] { + background: #349b2e; +} + +/* line 160, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 161, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 167, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.pagination { + text-align: center; +} + +/* line 172, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 173, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.print-mode #g-page-surround { + padding: 0.938rem; +} + +/* line 176, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +/* line 177, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.print-mode #g-page-surround .btn a { + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 600; + font-size: 0.8rem; + letter-spacing: 0.1rem; + text-transform: uppercase; + border: 1px solid transparent; + text-shadow: none; +} + +/* line 187, templates/g5_helium/scss/helium-joomla/styles/_core.scss */ + +.print-mode #g-page-surround .btn .icon-print { + margin-right: 5px; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.list-striped, +.row-striped { + border: 1px solid #e0e0e5; +} + +/* line 7, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.list-striped li:not(:last-child), +.list-striped dd:not(:last-child), +.row-striped .row:not(:last-child), +.row-striped .row-fluid:not(:last-child) { + border-bottom: 1px solid #e0e0e5; +} + +/* line 14, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.list-striped li:nth-child(odd), +.list-striped dd:nth-child(odd), +.row-striped .row:nth-child(odd), +.row-striped .row-fluid:nth-child(odd) { + background-color: #f2f4f7; +} + +/* line 21, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.list-bordered, +.row-bordered { + border: 1px solid #e0e0e5; +} + +/* line 26, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.row-even, +.row-odd { + border-bottom: 1px solid #e0e0e5; +} + +/* line 31, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.row-even { + background-color: #f2f4f7; +} + +/* line 35, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +.iframe-bordered { + border: 1px solid #e0e0e5; +} + +/* line 40, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +blockquote { + border-left: 5px solid #e0e0e5; +} + +/* line 44, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +blockquote small { + color: #677983; +} + +/* line 48, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +blockquote.pull-right { + border-right: 5px solid #e0e0e5; +} + +/* line 52, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +code, +pre { + background-color: #eceff3; + border: 1px solid #e0e0e5; +} + +/* line 57, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +/* line 58, templates/g5_helium/scss/helium-joomla/styles/_typography.scss */ + +pre.prettyprint { + padding: 1rem !important; +} + +/* line 1, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +legend { + color: #3a444a; + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 700; + font-size: 1.5rem; + line-height: 1.5; + margin: 1rem 0; +} + +/* line 10, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.input-prepend .chzn-container-single .chzn-single, +.input-append .chzn-container-single .chzn-single { + border-color: #e0e0e5; +} + +/* line 15, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.input-prepend .chzn-container-single .chzn-drop, +.input-append .chzn-container-single .chzn-drop { + border-color: #e0e0e5; +} + +/* line 20, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.form-actions { + background: none; + border: 0; +} + +/* line 25, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + color: #3a444a; + background-color: #fff; + border: 1px solid #e0e0e5; + box-sizing: border-box !important; + -webkit-transition: border 0.2s linear, box-shadow 0.2s linear; + -moz-transition: border 0.2s linear, box-shadow 0.2s linear; + transition: border 0.2s linear, box-shadow 0.2s linear; + height: 41px; +} + +/* line 48, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.input-prepend textarea, +.input-prepend input[type="text"], +.input-prepend input[type="password"], +.input-prepend input[type="datetime"], +.input-prepend input[type="datetime-local"], +.input-prepend input[type="date"], +.input-prepend input[type="month"], +.input-prepend input[type="time"], +.input-prepend input[type="week"], +.input-prepend input[type="number"], +.input-prepend input[type="email"], +.input-prepend input[type="url"], +.input-prepend input[type="search"], +.input-prepend input[type="tel"], +.input-prepend input[type="color"], +.input-prepend .uneditable-input, +.input-append textarea, +.input-append input[type="text"], +.input-append input[type="password"], +.input-append input[type="datetime"], +.input-append input[type="datetime-local"], +.input-append input[type="date"], +.input-append input[type="month"], +.input-append input[type="time"], +.input-append input[type="week"], +.input-append input[type="number"], +.input-append input[type="email"], +.input-append input[type="url"], +.input-append input[type="search"], +.input-append input[type="tel"], +.input-append input[type="color"], +.input-append .uneditable-input { + padding: 0.35rem; + max-width: 95%; +} + +/* line 54, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.input-prepend>.add-on, +.input-append>.add-on { + background: #d9d9d9; + border: 1px solid #e0e0e5; + padding: 0.275rem; + -webkit-padding-before: 7px; + -webkit-padding-after: 7px; + margin-right: -2px; +} + +/* line 62, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.dir-rtl .input-prepend>.add-on, +.dir-rtl .input-append>.add-on { + margin-right: auto; + margin-left: -2px; +} + +/* line 66, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.dir-rtl .input-prepend>.add-on .btn, +.dir-rtl .input-append>.add-on .btn { + margin-right: auto; + margin-left: -2px; +} + +/* line 74, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#filter_search { + width: auto; + padding: 4px 12px; + line-height: normal; + height: 28px; +} + +/* line 81, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +textarea { + width: 100%; +} + +/* line 85, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +/* line 86, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +/* line 87, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.dir-rtl .form-horizontal .control-label { + float: right; + text-align: left; +} + +/* line 92, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.dir-rtl .form-horizontal .controls { + margin-left: 0; + margin-right: 180px; +} + +/* line 99, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +select { + color: #3a444a; + background: #fff; + border: 1px solid #e0e0e5; +} + +/* line 106, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.view-mailto, +.body-only { + padding: 0 1.5rem; +} + +/* line 108, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.view-mailto #g-page-surround, +.body-only #g-page-surround { + box-shadow: none; +} + +/* line 114, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +/* line 115, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.controls input[type="radio"] { + margin-right: 5px; +} + +/* line 120, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +/* line 121, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +.layout-edit #sbox-content.sbox-content-iframe { + overflow: hidden; +} + +/* line 127, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +/* line 128, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#login-form .input-prepend, +#login-form .input-append { + width: 100%; +} + +/* line 131, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#login-form .input-prepend .add-on, +#login-form .input-append .add-on, +#login-form .input-prepend .input-small, +#login-form .input-append .input-small { + height: 50px; +} + +/* line 135, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#login-form .input-prepend .btn, +#login-form .input-append .btn { + height: 50px; + line-height: 33px; + background: #4db2b3; + color: #fff; + text-shadow: none; +} + +/* line 143, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#login-form .input-prepend .input-small, +#login-form .input-append .input-small { + width: 80%; +} + +/* line 148, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#login-form #modlgn-secretkey { + width: 65%; +} + +/* line 154, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +/* line 155, templates/g5_helium/scss/helium-joomla/styles/_forms.scss */ + +#finder-search .inputbox { + margin: 1rem 0 0.5rem 0; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/styles/_buttons.scss */ + +/* line 3, templates/g5_helium/scss/helium-joomla/styles/_buttons.scss */ + +/* line 4, templates/g5_helium/scss/helium-joomla/styles/_buttons.scss */ + +.controls .input-append .btn { + padding: 0.65rem 12px; + font-size: 14px; + line-height: 20px; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/styles/_tabs.scss */ + +.nav-tabs.nav-stacked>li>a { + border: 0 none; +} + +/* line 6, templates/g5_helium/scss/helium-joomla/styles/_tabs.scss */ + +.nav-tabs.nav-dark { + border-bottom: 1px solid #333; + text-shadow: 1px 1px 1px #000; +} + +/* line 11, templates/g5_helium/scss/helium-joomla/styles/_tabs.scss */ + +.nav-tabs.nav-dark>li>a { + color: #e0e0e5; +} + +/* line 15, templates/g5_helium/scss/helium-joomla/styles/_tabs.scss */ + +.nav-tabs.nav-dark>li>a:hover { + border-color: #333 #333 #111; + background-color: #777; +} + +/* line 20, templates/g5_helium/scss/helium-joomla/styles/_tabs.scss */ + +.nav-tabs.nav-dark>.active>a, +.nav-tabs.nav-dark>.active>a:hover { + color: #fff; + background-color: #555; + border: 1px solid #222; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/styles/_tags.scss */ + +.chzn-container .chzn-drop, +.chzn-container .chzn-results li.no-results { + border: 1px solid rgba(0, 0, 0, 0.1); + color: #3a444a; +} + +/* line 7, templates/g5_helium/scss/helium-joomla/styles/_tags.scss */ + +.chzn-container-multi .chzn-choices { + color: #3a444a; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 6px; + width: 250px; + background-image: none; +} + +/* line 14, templates/g5_helium/scss/helium-joomla/styles/_tags.scss */ + +.chzn-container-multi .chzn-choices li.search-field input[type="text"] { + box-shadow: none; + height: 35px; + margin: 0; + padding: 0 5px; + color: #3a444a !important; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.tip-wrap { + color: #fff; + background-color: #000; +} + +/* line 8, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.img-polaroid { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +/* line 15, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.muted { + color: #999; +} + +/* line 19, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +a.muted:hover, +a.muted:focus { + color: #808080; +} + +/* line 24, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert { + background-color: #f8f4ec; + border-color: #eee4d2; + padding: 0.938rem; +} + +/* line 29, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert a, +.alert a:hover, +.alert .alert-link, +.alert .alert-link:hover { + right: 0 !important; + color: #6c5328; + font-weight: bold; + text-decoration: none; +} + +/* line 40, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert, +.alert h4, +.text-warning { + color: #c09853; +} + +/* line 46, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +a.text-warning:hover, +a.text-warning:focus { + color: #b78c43; +} + +/* line 51, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-success { + color: #468847; + background-color: #dfeedf; + border-color: #c4e0c4; +} + +/* line 56, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-success a, +.alert-success a:hover, +.alert-success .alert-link, +.alert-success .alert-link:hover { + color: #356635; + font-weight: bold; +} + +/* line 63, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-success a:hover, +.alert-success a:hover:hover, +.alert-success .alert-link:hover, +.alert-success .alert-link:hover:hover { + text-decoration: underline; +} + +/* line 69, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-success h4, +.text-success { + color: #468847; +} + +/* line 74, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +a.text-success:hover, +a.text-success:focus { + color: #3d773e; +} + +/* line 79, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f6e7e7; + border-color: #edd1d0; +} + +/* line 85, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-danger a, +.alert-error a, +.alert-danger a:hover, +.alert-error a:hover, +.alert-danger .alert-link, +.alert-error .alert-link, +.alert-danger .alert-link:hover, +.alert-error .alert-link:hover { + color: #953b39; + font-weight: bold; +} + +/* line 92, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-danger a:hover, +.alert-error a:hover, +.alert-danger a:hover:hover, +.alert-error a:hover:hover, +.alert-danger .alert-link:hover, +.alert-error .alert-link:hover, +.alert-danger .alert-link:hover:hover, +.alert-error .alert-link:hover:hover { + text-decoration: underline; +} + +/* line 98, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-danger h4, +.alert-error h4, +.text-error { + color: #b94a48; +} + +/* line 104, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +a.text-error:hover, +a.text-error:focus { + color: #a74240; +} + +/* line 109, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-info { + color: #3a87ad; + background-color: #e2eff5; + border-color: #c7e0ec; +} + +/* line 114, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-info a, +.alert-info a:hover, +.alert-info .alert-link, +.alert-info .alert-link:hover { + color: #2d6987; + font-weight: bold; +} + +/* line 121, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-info a:hover, +.alert-info a:hover:hover, +.alert-info .alert-link:hover, +.alert-info .alert-link:hover:hover { + text-decoration: underline; +} + +/* line 127, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.alert-info h4, +.text-info { + color: #3a87ad; +} + +/* line 132, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +a.text-info:hover, +a.text-info:focus { + color: #34789a; +} + +/* line 138, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.pull-left, +.pull-right { + max-width: 100%; +} + +/* line 142, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +/* line 143, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.dir-rtl .pull-left { + float: right; +} + +/* line 147, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.dir-rtl .pull-right { + float: left; +} + +/* line 153, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnails { + margin-left: -20px; + list-style: none; +} + +/* line 157, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnails:before, +.thumbnails:after { + display: table; + content: ""; + line-height: 0; +} + +/* line 163, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnails:after { + clear: both; +} + +/* line 167, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnails>li { + float: left; + margin-bottom: 18px; + margin-left: 20px; +} + +/* line 174, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.row-fluid .thumbnails { + margin-left: 0; +} + +/* line 178, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnail { + display: block; + padding: 4px; + line-height: 18px; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +/* line 187, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnail>img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} + +/* line 194, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.thumbnail .caption { + padding: 9px; + color: #555; +} + +/* line 200, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #08c; + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +/* line 206, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +/* line 207, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.manager>li { + float: left !important; + margin-bottom: 18px !important; + margin-left: 20px !important; +} + +/* line 215, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +/* line 216, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.calendar .title { + border: none; +} + +/* line 220, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +/* line 221, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.calendar thead .name { + padding: 2px; +} + +/* line 225, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.calendar thead .button { + font-weight: normal; + border: 1px solid transparent; +} + +/* line 230, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.calendar thead .hilite { + border-radius: 0; + padding: 2px; +} + +/* line 238, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.pagination-list { + list-style: none; +} + +/* line 241, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +.pagination-list li { + display: inline-block; + margin: 0 0.5rem; +} + +/* line 248, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +/* line 249, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +#imageForm button, +#uploadForm button { + padding: 0.25rem 1rem; + margin: 1rem 0; +} + +/* line 253, templates/g5_helium/scss/helium-joomla/styles/_utilities.scss */ + +#imageForm button:hover, +#uploadForm button:hover { + border: none; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 4, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .nav.menu, +.moduletable .mostread, +.moduletable .latestnews, +.moduletable .archive-module, +.moduletable .relateditems, +.moduletable .categories-module, +.moduletable .category-module, +.moduletable .latestusers, +.moduletable .unstyled { + margin: 0; + display: inline-block; + border: 1px solid #e0e0e5; + padding: 0.938rem 1.876rem; +} + +/* line 18, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .nav.menu li, +.moduletable .mostread li, +.moduletable .latestnews li, +.moduletable .archive-module li, +.moduletable .relateditems li, +.moduletable .categories-module li, +.moduletable .category-module li, +.moduletable .latestusers li, +.moduletable .unstyled li { + list-style-type: none; + margin-left: 0; + padding-bottom: 0.938rem; + margin-bottom: 0.625rem; + border-bottom: 1px solid #e0e0e5; +} + +/* line 25, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .nav.menu li:last-child, +.moduletable .mostread li:last-child, +.moduletable .latestnews li:last-child, +.moduletable .archive-module li:last-child, +.moduletable .relateditems li:last-child, +.moduletable .categories-module li:last-child, +.moduletable .category-module li:last-child, +.moduletable .latestusers li:last-child, +.moduletable .unstyled li:last-child { + border-bottom: 0; + padding-bottom: 0; + margin-bottom: 0; +} + +/* line 34, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 35, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .nav li { + margin-bottom: 0.625rem; +} + +/* line 39, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .nav .nav-header { + margin: 0.625rem 0; + padding: 0.469rem 0.938rem; + font-size: 0.7rem; + font-weight: 400; + border-radius: 0.25rem; + color: #3a444a; + background: #e0e0e0; +} + +/* line 49, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .nav .nav-child { + margin-top: 0.625rem; +} + +/* line 55, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 56, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .categories-module h4 { + display: inline-block; + font-size: 1rem; + margin: 0; +} + +/* line 64, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb { + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; +} + +/* line 67, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb li { + text-shadow: none; + vertical-align: middle; +} + +/* line 72, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb a { + display: inline-block; +} + +/* line 76, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb span { + display: inline-block; +} + +/* line 79, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb span.divider { + position: relative; + vertical-align: top; + width: 21px; + height: 21px; + line-height: 1.5; +} + +/* line 86, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb span.divider:before { + text-align: center; + font-family: FontAwesome; + content: "\f054"; + position: absolute; + vertical-align: middle; +} + +/* line 95, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .breadcrumb span img { + display: none; +} + +/* line 102, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 103, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #login-form .control-group { + margin-bottom: 10px; +} + +/* line 106, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 107, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #login-form .control-group .input-prepend .add-on { + color: #fff; + background: none; + padding: 5px; +} + +/* line 112, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #login-form .control-group .input-prepend .add-on [class^="icon-"], +.moduletable #login-form .control-group .input-prepend .add-on [class*=" icon-"] { + width: auto; + background: #007dc3; + padding: 0.45rem 1rem; + border-radius: 3px; +} + +/* line 120, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #login-form .control-group .input-prepend input { + border-left: none; +} + +/* line 123, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #login-form .control-group .input-prepend input:hover { + border-color: #e0e0e5; +} + +/* line 127, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #login-form .control-group .input-prepend input:focus { + box-shadow: none; + border-color: #e0e0e5; +} + +/* line 137, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 138, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable .search #mod-search-searchword { + border-radius: 0.25rem; +} + +/* line 144, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 145, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +.moduletable #mod-finder-searchform input[type="text"] { + border-radius: 0.25rem; +} + +/* line 151, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +/* line 152, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav, +#g-offcanvas .moduletable .nav.menu { + padding: 0; + width: 100%; + border: 0; +} + +/* line 157, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav li, +#g-offcanvas .moduletable .nav.menu li { + background: #4db2b3; + border: 0; + padding: 0; + margin: 0; + color: #eceeef; + float: none; +} + +/* line 165, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav li a, +#g-offcanvas .moduletable .nav.menu li a { + line-height: inherit; + padding: 0.938rem; + margin: 0; +} + +/* line 171, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav li.active, +#g-offcanvas .moduletable .nav.menu li.active { + background: #00639a; +} + +/* line 174, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav li.active a, +#g-offcanvas .moduletable .nav.menu li.active a { + background-color: inherit; + color: inherit; +} + +/* line 180, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav li:hover, +#g-offcanvas .moduletable .nav.menu li:hover { + background: #006daa; +} + +/* line 185, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav .nav-header, +#g-offcanvas .moduletable .nav.menu .nav-header { + margin: 0.625rem 0; + padding: 0.469rem 0.938rem; + font-size: 0.7rem; + font-weight: 400; + border-radius: 0.25rem; + color: #3a444a; + background: #e0e0e0; +} + +/* line 195, templates/g5_helium/scss/helium-joomla/styles/_modules.scss */ + +#g-offcanvas .moduletable .nav .nav-child, +#g-offcanvas .moduletable .nav.menu .nav-child { + margin-top: 0.625rem; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +dl.article-info { + margin-top: 0; + margin-bottom: 2rem; +} + +/* line 6, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +dl.article-info dt { + display: none; +} + +/* line 10, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +dl.article-info dd { + display: inline-block; + margin: 0; + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + text-transform: uppercase; + color: #3a444a; + font-size: 0.85rem; + line-height: 1.35; +} + +/* line 19, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +dl.article-info dd>* { + display: inline-block; +} + +/* line 23, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +dl.article-info dd:not(:last-child):after { + content: "/"; + margin: 0 5px; + color: #e0e0e5; +} + +/* line 31, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.article-info-term { + display: inline-block; + font-weight: bold; + margin-bottom: 1.25rem; + background: #ebebeb; + border-radius: 0.25rem; + padding: 0.31267rem 0.938rem; +} + +/* line 41, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +/* line 42, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +/* line 48, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +/* line 49, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.filter-search .btn { + height: 40px; + padding: 0 1.5rem; +} + +/* line 56, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +/* line 57, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.blog .items-row, +.item-page .items-row { + margin-bottom: 0.625rem; + padding-bottom: 0.938rem; +} + +/* line 62, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.blog .g-lead, +.item-page .g-lead { + font-size: 1.5rem; + padding-bottom: 1.876rem; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .blog .g-lead, + .item-page .g-lead { + font-size: 1.25rem; + } +} + +@media only all and (max-width: 47.938rem) { + .blog .g-lead, + .item-page .g-lead { + font-size: 1rem; + } +} + +/* line 76, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +/* line 77, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.blog dl.article-info { + margin-left: 0; +} + +/* line 80, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.blog dl.article-info dt, +.blog dl.article-info dd { + margin-left: 0; +} + +/* line 85, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.blog ol.nav { + padding-left: 0; +} + +/* line 88, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.dir-rtl .blog ol.nav { + padding-right: 0; +} + +/* line 93, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.blog .icons .pull-right { + top: -1rem; +} + +/* line 99, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.chzn-container-single .chzn-single, +.chzn-container-active.chzn-with-drop .chzn-single { + background: #fff; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: none; + height: 40px; + line-height: 36px; + border-radius: 6px; +} + +/* line 107, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.chzn-container-single .chzn-single div b, +.chzn-container-active.chzn-with-drop .chzn-single div b { + position: relative; + top: 6px; +} + +/* line 113, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.chzn-container-active.chzn-with-drop .chzn-single { + border-radius: 6px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +/* line 119, templates/g5_helium/scss/helium-joomla/components/_content.scss */ + +.chzn-container-active.chzn-with-drop .chzn-single div b { + background-position: -15px 2px; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +/* line 3, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.contact>h3 { + display: none; +} + +/* line 7, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.contact .contact-address { + margin: 0; +} + +/* line 11, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.contact .form-actions { + margin: 0; + padding-top: 0; + padding-bottom: 0; +} + +/* line 16, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.contact .form-actions .btn { + font-size: 0.6rem; + padding: 1.1rem 2.725rem; + margin-left: 5px; +} + +/* line 25, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +/* line 26, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +/* line 27, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +#contact-form .controls input, +#contact-form .controls textarea { + border: 1px solid #e0e0e5; + background: #fff; + border-radius: 0.25rem; +} + +/* line 34, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +#contact-form .controls .btn-primary.validate { + font-size: 0.6rem; + padding: 1.1rem 2.725rem; + margin-left: 5px; +} + +/* line 44, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +/* line 45, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.profile legend { + margin: 0; +} + +/* line 49, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.profile dt, +.profile dd { + margin-bottom: 0.625rem; +} + +/* line 54, templates/g5_helium/scss/helium-joomla/components/_contact.scss */ + +.profile .btn { + font-size: 0.6rem; + padding: 1.1rem 2.725rem; + margin-left: 5px; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/components/_users.scss */ + +/* line 8, templates/g5_helium/scss/helium-joomla/components/_users.scss */ + +.login input, +.logout input, +.registration input, +.profile-edit input, +.remind input, +.reset input { + border: 1px solid rgba(0, 0, 0, 0.1); + background: #fff; + border-radius: 6px; +} + +/* line 14, templates/g5_helium/scss/helium-joomla/components/_users.scss */ + +.login .btn, +.logout .btn, +.registration .btn, +.profile-edit .btn, +.remind .btn, +.reset .btn { + margin-right: 10px; +} + +/* line 19, templates/g5_helium/scss/helium-joomla/components/_users.scss */ + +/* line 20, templates/g5_helium/scss/helium-joomla/components/_users.scss */ + +.login .controls #helpsite-refresh, +.logout .controls #helpsite-refresh, +.registration .controls #helpsite-refresh, +.profile-edit .controls #helpsite-refresh, +.remind .controls #helpsite-refresh, +.reset .controls #helpsite-refresh { + font-size: 0.7rem; + border-radius: 0.25rem; + padding: 0.8rem 1rem; + margin-left: 5px; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/components/_search.scss */ + +/* line 3, templates/g5_helium/scss/helium-joomla/components/_search.scss */ + +/* line 4, templates/g5_helium/scss/helium-joomla/components/_search.scss */ + +.search #searchForm input.inputbox, +.finder #searchForm input.inputbox, +.search #search-form input.inputbox, +.finder #search-form input.inputbox { + height: 51px; + border-radius: 0.25rem; +} + +/* line 9, templates/g5_helium/scss/helium-joomla/components/_search.scss */ + +.search #searchForm .btn, +.finder #searchForm .btn, +.search #search-form .btn, +.finder #search-form .btn { + font-size: 0.6rem; + padding: 1.1rem 2.725rem; +} + +/* line 14, templates/g5_helium/scss/helium-joomla/components/_search.scss */ + +.search #searchForm .btn span, +.finder #searchForm .btn span, +.search #search-form .btn span, +.finder #search-form .btn span { + margin-right: 0.625rem; +} + +/* line 21, templates/g5_helium/scss/helium-joomla/components/_search.scss */ + +.search span.highlight, +.finder span.highlight { + background-color: #e6e6e6; +} + +/* line 2, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + +/* line 3, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + +/* line 4, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + +.rokbox-content #login-form .input-prepend .input-small, +.rokbox-content #login-form .input-append .input-small { + width: 240px; +} + +/* line 10, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + +.rokbox-content #modlgn-secretkey { + width: 200px !important; +} + +@media all and (-ms-high-contrast: none), +(-ms-high-contrast: active) { + /* line 16, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + /* line 17, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + #login-form .input-prepend, + #login-form .input-append { + width: 95% !important; + } + /* line 22, templates/g5_helium/scss/helium-joomla/particles/_popupmodule.scss */ + #login-form #modlgn-secretkey { + width: 183px !important; + } +} + +@media only all and (max-width: 47.938rem) { + /* line 2, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + /* line 8, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .container-fluid { + padding: 0; + } + /* line 11, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + /* line 17, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .dl-horizontal dd { + margin-left: 0; + } + /* line 20, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid { + width: 100%; + } + /* line 23, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row, + .thumbnails { + margin-left: 0; + } + /* line 27, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .thumbnails>li { + float: none; + margin-left: 0; + } + /* line 32, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .manager.thumbnails>li { + float: left; + margin-left: 20px; + } + /* line 37, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + [class*="span"], + .uneditable-input[class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + box-sizing: border-box; + } + /* line 46, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span12, + .row-fluid .span12 { + width: 100%; + box-sizing: border-box; + } + /* line 51, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid [class*="offset"]:first-child { + margin-left: 0; + } + /* line 54, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + box-sizing: border-box; + } + /* line 66, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + /* line 73, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .controls-row [class*="span"]+[class*="span"] { + margin-left: 0; + } +} + +@media only all and (max-width: 30rem) { + /* line 79, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + /* line 82, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .page-header h1 small { + display: block; + line-height: 20px; + } + /* line 86, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + /* line 92, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .form-horizontal .controls { + margin-left: 0; + } + /* line 95, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .form-horizontal .control-list { + padding-top: 0; + } + /* line 98, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + /* line 102, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .media .pull-left, + .media .pull-right { + display: block; + float: none; + margin-bottom: 10px; + } + /* line 108, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .media-object { + margin-right: 0; + margin-left: 0; + } + /* line 112, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .modal-header .close { + padding: 10px; + margin: -10px; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + /* line 119, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row { + margin-left: -20px; + } + /* line 122, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + /* line 128, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row:after { + clear: both; + } + /* line 131, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + /* line 136, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span12 { + width: 724px; + } + /* line 139, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span11 { + width: 662px; + } + /* line 142, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span10 { + width: 600px; + } + /* line 145, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span9 { + width: 538px; + } + /* line 148, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span8 { + width: 476px; + } + /* line 151, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span7 { + width: 414px; + } + /* line 154, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span6 { + width: 352px; + } + /* line 157, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span5 { + width: 290px; + } + /* line 160, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span4 { + width: 228px; + } + /* line 163, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span3 { + width: 166px; + } + /* line 166, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span2 { + width: 104px; + } + /* line 169, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .span1 { + width: 42px; + } + /* line 172, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset12 { + margin-left: 764px; + } + /* line 175, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset11 { + margin-left: 702px; + } + /* line 178, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset10 { + margin-left: 640px; + } + /* line 181, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset9 { + margin-left: 578px; + } + /* line 184, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset8 { + margin-left: 516px; + } + /* line 187, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset7 { + margin-left: 454px; + } + /* line 190, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset6 { + margin-left: 392px; + } + /* line 193, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset5 { + margin-left: 330px; + } + /* line 196, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset4 { + margin-left: 268px; + } + /* line 199, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset3 { + margin-left: 206px; + } + /* line 202, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset2 { + margin-left: 144px; + } + /* line 205, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .offset1 { + margin-left: 82px; + } + /* line 208, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid { + width: 100%; + } + /* line 211, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + /* line 217, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid:after { + clear: both; + } + /* line 220, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.76243%; + box-sizing: border-box; + } + /* line 228, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + /* line 231, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .controls-row [class*="span"]+[class*="span"] { + margin-left: 2.76243%; + } + /* line 234, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span12 { + width: 100%; + } + /* line 237, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span11 { + width: 91.43646%; + } + /* line 240, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span10 { + width: 82.87293%; + } + /* line 243, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span9 { + width: 74.30939%; + } + /* line 246, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span8 { + width: 65.74586%; + } + /* line 249, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span7 { + width: 57.18232%; + } + /* line 252, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span6 { + width: 48.61878%; + } + /* line 255, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span5 { + width: 40.05525%; + } + /* line 258, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span4 { + width: 31.49171%; + } + /* line 261, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span3 { + width: 22.92818%; + } + /* line 264, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span2 { + width: 14.36464%; + } + /* line 267, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .span1 { + width: 5.8011%; + } + /* line 270, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset12 { + margin-left: 105.52486%; + } + /* line 273, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset12:first-child { + margin-left: 102.76243%; + } + /* line 276, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset11 { + margin-left: 96.96133%; + } + /* line 279, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset11:first-child { + margin-left: 94.1989%; + } + /* line 282, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset10 { + margin-left: 88.39779%; + } + /* line 285, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset10:first-child { + margin-left: 85.63536%; + } + /* line 288, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset9 { + margin-left: 79.83425%; + } + /* line 291, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset9:first-child { + margin-left: 77.07182%; + } + /* line 294, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset8 { + margin-left: 71.27072%; + } + /* line 297, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset8:first-child { + margin-left: 68.50829%; + } + /* line 300, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset7 { + margin-left: 62.70718%; + } + /* line 303, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset7:first-child { + margin-left: 59.94475%; + } + /* line 306, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset6 { + margin-left: 54.14365%; + } + /* line 309, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset6:first-child { + margin-left: 51.38122%; + } + /* line 312, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset5 { + margin-left: 45.58011%; + } + /* line 315, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset5:first-child { + margin-left: 42.81768%; + } + /* line 318, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset4 { + margin-left: 37.01657%; + } + /* line 321, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset4:first-child { + margin-left: 34.25414%; + } + /* line 324, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset3 { + margin-left: 28.45304%; + } + /* line 327, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset3:first-child { + margin-left: 25.69061%; + } + /* line 330, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset2 { + margin-left: 19.8895%; + } + /* line 333, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset2:first-child { + margin-left: 17.12707%; + } + /* line 336, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset1 { + margin-left: 11.32597%; + } + /* line 339, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .row-fluid .offset1:first-child { + margin-left: 8.56354%; + } + /* line 342, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input, + textarea, + .uneditable-input { + margin-left: 0; + } + /* line 347, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .controls-row [class*="span"]+[class*="span"] { + margin-left: 20px; + } + /* line 350, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + /* line 355, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + /* line 360, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + /* line 365, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + /* line 370, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + /* line 375, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + /* line 380, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + /* line 385, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + /* line 390, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + /* line 395, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + /* line 400, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + /* line 405, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} + +@media only all and (max-width: 59.938rem) { + /* line 413, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + /* line 417, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-fixed-top { + margin-bottom: 20px; + } + /* line 420, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-fixed-bottom { + margin-top: 20px; + } + /* line 423, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + /* line 427, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar .container { + width: auto; + padding: 0; + } + /* line 431, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + /* line 436, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse { + clear: both; + } + /* line 439, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + /* line 443, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav>li { + float: none; + } + /* line 446, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav>li>a { + margin-bottom: 2px; + } + /* line 449, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav>.divider-vertical { + display: none; + } + /* line 452, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav .nav-header { + color: #777; + text-shadow: none; + } + /* line 456, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav>li>a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777; + border-radius: 0.25rem; + } + /* line 463, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + border-radius: 0.25rem; + } + /* line 468, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .dropdown-menu li+li a { + margin-bottom: 2px; + } + /* line 471, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav>li>a:hover, + .nav-collapse .nav>li>a:focus, + .nav-collapse .dropdown-menu a:hover, + .nav-collapse .dropdown-menu a:focus { + background-color: #f2f2f2; + } + /* line 477, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-inverse .nav-collapse .nav>li>a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999; + } + /* line 481, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-inverse .nav-collapse .nav>li>a:hover, + .navbar-inverse .nav-collapse .nav>li>a:focus, + .navbar-inverse .nav-collapse .dropdown-menu a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:focus { + background-color: #111; + } + /* line 487, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + /* line 491, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: none; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + } + /* line 505, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .open>.dropdown-menu { + display: block; + } + /* line 508, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + /* line 512, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .dropdown-menu .divider { + display: none; + } + /* line 515, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .nav>li>.dropdown-menu:before, + .nav-collapse .nav>li>.dropdown-menu:after { + display: none; + } + /* line 519, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + /* line 528, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111; + border-bottom-color: #111; + } + /* line 533, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + /* line 537, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + /* line 542, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar .btn-navbar { + display: block; + } + /* line 545, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media only all and (min-width: 60rem) { + /* line 552, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_bootstrap.scss */ + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} + +@media only all and (max-width: 47.938rem) { + /* line 2, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_forms.scss */ + /* line 3, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_forms.scss */ + .form-horizontal .control-label { + display: block; + float: none; + text-align: left; + } + /* line 9, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_forms.scss */ + .form-horizontal .controls { + margin: 0; + } + /* line 14, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_forms.scss */ + [dir="rtl"] .form-horizontal .control-label { + text-align: right; + } +} + +@media only all and (max-width: 47.938rem) { + /* line 2, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + div.modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + /* line 10, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + div.modal.fade { + top: -100px; + } + /* line 13, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + div.modal.fade.in { + top: 20px; + } +} + +@media only all and (max-width: 30rem) { + /* line 19, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + div.modal { + top: 10px; + right: 10px; + left: 10px; + } +} + +@media only all and (max-width: 47.938rem) { + /* line 27, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + /* line 28, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + .pull-right.item-image { + margin-left: 0; + } + /* line 33, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + /* line 34, media/gantry5/engines/nucleus/scss/joomla/theme/breakpoints/_utilities.scss */ + .pull-left.item-image { + margin-right: 0; + } +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/helium_19.css b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/helium_19.css new file mode 100644 index 0000000000000000000000000000000000000000..09fab56c7cd85285cb243a8cce2f3d52f0507fde --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/css-compiled/helium_19.css @@ -0,0 +1,4961 @@ +/* GANTRY5 DEVELOPMENT MODE ENABLED. + + WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost! + + For more information on modifying CSS, please read: + + http://docs.gantry.org/gantry5/configure/styles + http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet + */ + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 12, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/mixins/_utilities.scss */ + +/* line 9, media/gantry5/engines/nucleus/scss/nucleus/mixins/_utilities.scss */ + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/theme/_flex.scss */ + +.g-content { + margin: 0.625rem; + padding: 0.938rem; +} + +/* line 6, media/gantry5/engines/nucleus/scss/nucleus/theme/_flex.scss */ + +.g-flushed .g-content { + margin: 0; + padding: 0; +} + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +body { + font-size: 1rem; + line-height: 2; +} + +/* line 8, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +h1 { + font-size: 2.25rem; +} + +/* line 12, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +h2 { + font-size: 1.9rem; +} + +/* line 16, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +h3 { + font-size: 1.5rem; +} + +/* line 20, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +h4 { + font-size: 1.25rem; +} + +/* line 24, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +h5 { + font-size: 1rem; +} + +/* line 28, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +h6 { + font-size: 0.85rem; +} + +/* line 33, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +small { + font-size: 0.875rem; +} + +/* line 37, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +cite { + font-size: 0.875rem; +} + +/* line 41, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +sub, +sup { + font-size: 0.75rem; +} + +/* line 46, media/gantry5/engines/nucleus/scss/nucleus/theme/_typography.scss */ + +code, +kbd, +pre, +samp { + font-size: 1rem; + font-family: "Menlo", "Monaco", monospace; +} + +/* line 1, media/gantry5/engines/nucleus/scss/nucleus/theme/_forms.scss */ + +textarea, +select[multiple=multiple], +input[type="color"], +input[type="date"], +input[type="datetime"], +input[type="datetime-local"], +input[type="email"], +input[type="month"], +input[type="number"], +input[type="password"], +input[type="search"], +input[type="tel"], +input[type="text"], +input[type="time"], +input[type="url"], +input[type="week"], +input:not([type]) { + border-radius: 0.25rem; +} + +@font-face { + font-family: 'rockettheme-apps'; + font-style: normal; + font-weight: normal; + src: url('../../fonts/rockettheme-apps/rockettheme-apps.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/rockettheme-apps/rockettheme-apps.woff2?596788de') format("woff2"), url('../../fonts/rockettheme-apps/rockettheme-apps.woff?596788de') format("woff"), url('../../fonts/rockettheme-apps/rockettheme-apps.ttf?596788de') format("truetype"), url('../../fonts/rockettheme-apps/rockettheme-apps.svg?596788de#rockettheme-apps') format("svg"); +} + +/* line 4, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +i.fa-grav-spaceman, +i.fa-grav-text, +i.fa-grav-full, +i.fa-grav-logo, +i.fa-grav-symbol, +i.fa-grav-logo-both, +i.fa-grav-both, +i.fa-gantry, +i.fa-gantry-logo, +i.fa-gantry-symbol, +i.fa-gantry-logo-both, +i.fa-gantry-both { + font-family: 'rockettheme-apps'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* line 21, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +.fa-grav-logo:before, +.fa-grav-text:before { + content: "\61"; +} + +/* line 24, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +.fa-grav-symbol:before, +.fa-grav-spaceman:before { + content: "\62"; +} + +/* line 27, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +.fa-grav-logo-both:before, +.fa-grav-both:before, +.fa-grav-full:before { + content: "\66"; +} + +/* line 32, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +.fa-gantry-logo:before { + content: "\64"; +} + +/* line 35, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +.fa-gantry:before, +.fa-gantry-symbol:before { + content: "\63"; +} + +/* line 38, templates/g5_helium/scss/helium/styles/_fonts.scss */ + +.fa-gantry-logo-both:before, +.fa-gantry-both:before { + content: "\65"; +} + +/* line 1, templates/g5_helium/scss/helium/styles/_core.scss */ + +body { + color: #3a444a; + background: #fff; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: auto; +} + +/* line 7, templates/g5_helium/scss/helium/styles/_core.scss */ + +body *::selection { + color: #fff; + background: #007dc3; +} + +/* line 12, templates/g5_helium/scss/helium/styles/_core.scss */ + +body *::-moz-selection { + color: #fff; + background: #007dc3; +} + +/* line 18, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p { + margin: 1rem 0; +} + +/* line 21, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p.h1 { + font-size: 2.25rem; +} + +/* line 25, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p.h2 { + font-size: 1.9rem; +} + +/* line 29, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p.h3 { + font-size: 1.5rem; +} + +/* line 33, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p.h4 { + font-size: 1.25rem; +} + +/* line 37, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p.h5 { + font-size: 1rem; +} + +/* line 41, templates/g5_helium/scss/helium/styles/_core.scss */ + +body p.h6 { + font-size: 0.85rem; +} + +/* line 46, templates/g5_helium/scss/helium/styles/_core.scss */ + +body span.para { + display: block; + margin: 1rem 0; +} + +/* line 1, templates/g5_helium/scss/helium/styles/_hyperlinks.scss */ + +a { + color: #007dc3; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + transition: all 0.2s; +} + +/* line 5, templates/g5_helium/scss/helium/styles/_hyperlinks.scss */ + +a:hover { + color: #00a1ff; +} + +@font-face { + font-family: "raleway"; + font-style: normal; + font-weight: 900; + src: url('../../fonts/raleway/raleway-black/raleway-black-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/raleway/raleway-black/raleway-black-webfont.woff2?596788de') format("woff2"), url('../../fonts/raleway/raleway-black/raleway-black-webfont.woff?596788de') format("woff"), url('../../fonts/raleway/raleway-black/raleway-black-webfont.ttf?596788de') format("truetype"), url('../../fonts/raleway/raleway-black/raleway-black-webfont.svg?596788de#raleway') format("svg"); +} + +@font-face { + font-family: "raleway"; + font-style: normal; + font-weight: 700; + src: url('../../fonts/raleway/raleway-bold/raleway-bold-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/raleway/raleway-bold/raleway-bold-webfont.woff2?596788de') format("woff2"), url('../../fonts/raleway/raleway-bold/raleway-bold-webfont.woff?596788de') format("woff"), url('../../fonts/raleway/raleway-bold/raleway-bold-webfont.ttf?596788de') format("truetype"), url('../../fonts/raleway/raleway-bold/raleway-bold-webfont.svg?596788de#raleway') format("svg"); +} + +@font-face { + font-family: "raleway"; + font-style: normal; + font-weight: 600; + src: url('../../fonts/raleway/raleway-semibold/raleway-semibold-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/raleway/raleway-semibold/raleway-semibold-webfont.woff2?596788de') format("woff2"), url('../../fonts/raleway/raleway-semibold/raleway-semibold-webfont.woff?596788de') format("woff"), url('../../fonts/raleway/raleway-semibold/raleway-semibold-webfont.ttf?596788de') format("truetype"), url('../../fonts/raleway/raleway-semibold/raleway-semibold-webfont.svg?596788de#raleway') format("svg"); +} + +@font-face { + font-family: "raleway"; + font-style: normal; + font-weight: 500; + src: url('../../fonts/raleway/raleway-medium/raleway-medium-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/raleway/raleway-medium/raleway-medium-webfont.woff2?596788de') format("woff2"), url('../../fonts/raleway/raleway-medium/raleway-medium-webfont.woff?596788de') format("woff"), url('../../fonts/raleway/raleway-medium/raleway-medium-webfont.ttf?596788de') format("truetype"), url('../../fonts/raleway/raleway-medium/raleway-medium-webfont.svg?596788de#raleway') format("svg"); +} + +@font-face { + font-family: "raleway"; + font-style: normal; + font-weight: 400; + src: url('../../fonts/raleway/raleway-regular/raleway-regular-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/raleway/raleway-regular/raleway-regular-webfont.woff2?596788de') format("woff2"), url('../../fonts/raleway/raleway-regular/raleway-regular-webfont.woff?596788de') format("woff"), url('../../fonts/raleway/raleway-regular/raleway-regular-webfont.ttf?596788de') format("truetype"), url('../../fonts/raleway/raleway-regular/raleway-regular-webfont.svg?596788de#raleway') format("svg"); +} + +@font-face { + font-family: "raleway"; + font-style: normal; + font-weight: 200; + src: url('../../fonts/raleway/raleway-light/raleway-light-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/raleway/raleway-light/raleway-light-webfont.woff2?596788de') format("woff2"), url('../../fonts/raleway/raleway-light/raleway-light-webfont.woff?596788de') format("woff"), url('../../fonts/raleway/raleway-light/raleway-light-webfont.ttf?596788de') format("truetype"), url('../../fonts/raleway/raleway-light/raleway-light-webfont.svg?596788de#raleway') format("svg"); +} + +@font-face { + font-family: "lato"; + font-style: normal; + font-weight: 900; + src: url('../../fonts/lato/lato-black/lato-black-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/lato/lato-black/lato-black-webfont.woff2?596788de') format("woff2"), url('../../fonts/lato/lato-black/lato-black-webfont.woff?596788de') format("woff"), url('../../fonts/lato/lato-black/lato-black-webfont.ttf?596788de') format("truetype"), url('../../fonts/lato/lato-black/lato-black-webfont.svg?596788de#lato') format("svg"); +} + +@font-face { + font-family: "lato"; + font-style: normal; + font-weight: 700; + src: url('../../fonts/lato/lato-bold/lato-bold-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/lato/lato-bold/lato-bold-webfont.woff2?596788de') format("woff2"), url('../../fonts/lato/lato-bold/lato-bold-webfont.woff?596788de') format("woff"), url('../../fonts/lato/lato-bold/lato-bold-webfont.ttf?596788de') format("truetype"), url('../../fonts/lato/lato-bold/lato-bold-webfont.svg?596788de#lato') format("svg"); +} + +@font-face { + font-family: "lato"; + font-style: normal; + font-weight: 400; + src: url('../../fonts/lato/lato-regular/lato-regular-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/lato/lato-regular/lato-regular-webfont.woff2?596788de') format("woff2"), url('../../fonts/lato/lato-regular/lato-regular-webfont.woff?596788de') format("woff"), url('../../fonts/lato/lato-regular/lato-regular-webfont.ttf?596788de') format("truetype"), url('../../fonts/lato/lato-regular/lato-regular-webfont.svg?596788de#lato') format("svg"); +} + +@font-face { + font-family: "lato"; + font-style: normal; + font-weight: 200; + src: url('../../fonts/lato/lato-light/lato-light-webfont.eot?596788de#iefix') format("embedded-opentype"), url('../../fonts/lato/lato-light/lato-light-webfont.woff2?596788de') format("woff2"), url('../../fonts/lato/lato-light/lato-light-webfont.woff?596788de') format("woff"), url('../../fonts/lato/lato-light/lato-light-webfont.ttf?596788de') format("truetype"), url('../../fonts/lato/lato-light/lato-light-webfont.svg?596788de#lato') format("svg"); +} + +/* line 5, templates/g5_helium/scss/helium/styles/_typography.scss */ + +body { + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; +} + +/* line 11, templates/g5_helium/scss/helium/styles/_typography.scss */ + +h1, +h2, +h3, +h4, +h5 { + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; +} + +/* line 16, templates/g5_helium/scss/helium/styles/_typography.scss */ + +h1 { + font-weight: 700; +} + +/* line 20, templates/g5_helium/scss/helium/styles/_typography.scss */ + +h4 { + font-size: 1.25rem; +} + +/* line 25, templates/g5_helium/scss/helium/styles/_typography.scss */ + +blockquote { + border-left: 10px solid #e0e0e5; +} + +/* line 28, templates/g5_helium/scss/helium/styles/_typography.scss */ + +blockquote p { + font-size: 1.1rem; + color: #677983; +} + +/* line 33, templates/g5_helium/scss/helium/styles/_typography.scss */ + +blockquote cite { + display: block; + text-align: right; + color: #3a444a; + font-size: 1.2rem; +} + +/* line 42, templates/g5_helium/scss/helium/styles/_typography.scss */ + +code, +kbd, +pre, +samp { + font-family: "Menlo", "Monaco", monospace; +} + +/* line 49, templates/g5_helium/scss/helium/styles/_typography.scss */ + +code { + background: #f9f2f4; + color: #9c1d3d; +} + +/* line 54, templates/g5_helium/scss/helium/styles/_typography.scss */ + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #e0e0e5; + border-radius: 0.25rem; + line-height: 1.15; + font-size: 0.9rem; +} + +/* line 63, templates/g5_helium/scss/helium/styles/_typography.scss */ + +pre code { + color: #237794; + background: inherit; + font-size: 0.9rem; +} + +/* line 69, templates/g5_helium/scss/helium/styles/_typography.scss */ + +pre.prettyprint { + border-color: rgba(0, 0, 0, 0.1) !important; +} + +/* line 75, templates/g5_helium/scss/helium/styles/_typography.scss */ + +hr { + margin: 1.5rem 0; + border-bottom: 1px solid #e0e0e5; +} + +/* line 1, templates/g5_helium/scss/helium/styles/_utilities.scss */ + +.noliststyle { + list-style: none; +} + +/* line 5, templates/g5_helium/scss/helium/styles/_utilities.scss */ + +.g-uppercase { + text-transform: uppercase; +} + +/* line 9, templates/g5_helium/scss/helium/styles/_utilities.scss */ + +.g-notexttransform { + text-transform: none; +} + +/* line 13, templates/g5_helium/scss/helium/styles/_utilities.scss */ + +.g-positive-margin-top { + margin-top: 23rem; +} + +/* line 17, templates/g5_helium/scss/helium/styles/_utilities.scss */ + +.g-negative-margin-bottom { + margin-bottom: -25rem; +} + +/* line 21, templates/g5_helium/scss/helium/styles/_utilities.scss */ + +.g-img-circle { + border-radius: 50%; +} + +/* line 2, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 4, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.flush>.g-container, +.g-flushed>.g-container, +.flush>.g-content, +.g-flushed>.g-content { + margin: 0 !important; + padding: 0 !important; +} + +/* line 11, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.g-container-flushed { + margin: -4rem 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nomarginleft, +.nomarginleft>.g-content { + margin-left: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nomarginright, +.nomarginright>.g-content { + margin-right: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nomargintop, +.nomargintop>.g-content { + margin-top: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nomarginbottom, +.nomarginbottom>.g-content { + margin-bottom: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nomarginall, +.nomarginall>.g-content { + margin: 0; +} + +/* line 34, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 35, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.margin2x>.g-content { + margin: 1.25rem; +} + +/* line 34, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 35, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.margin3x>.g-content { + margin: 1.875rem; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nopaddingleft, +.nopaddingleft>.g-content { + padding-left: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nopaddingright, +.nopaddingright>.g-content { + padding-right: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nopaddingtop, +.nopaddingtop>.g-content { + padding-top: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nopaddingbottom, +.nopaddingbottom>.g-content { + padding-bottom: 0; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 23, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.nopaddingall, +.nopaddingall>.g-content { + padding: 0; +} + +/* line 34, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 35, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.padding2x>.g-content { + padding: 1.876rem; +} + +/* line 34, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 35, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.padding3x>.g-content { + padding: 2.814rem; +} + +/* line 48, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 49, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.title-center .g-title { + text-align: center; + margin: 0 0 2rem 0; +} + +/* line 57, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 58, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.title1 .g-title, +.title2 .g-title, +.title-gradient .g-title, +.title-outline .g-title { + margin: -0.938rem -0.938rem 1.5rem -0.938rem; + padding: 0.625rem 1rem; +} + +/* line 64, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.platform-content, +.moduletable, +.widget { + margin: 0.625rem 0; + padding: 0.938rem 0; +} + +/* line 68, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.platform-content .moduletable, +.moduletable .moduletable, +.widget .moduletable, +.platform-content .widget, +.moduletable .widget, +.widget .widget { + margin: 0; + padding: 0; +} + +/* line 73, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.platform-content:first-child, +.moduletable:first-child, +.widget:first-child { + margin-top: 0; + padding-top: 0; +} + +/* line 78, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.platform-content:last-child, +.moduletable:last-child, +.widget:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +/* line 84, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 85, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.moduletable[class*="box"], +.widget[class*="box"] { + padding: 0.938rem; + margin: 0.625rem; +} + +/* line 90, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 91, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.moduletable[class*="title"] .g-title, +.widget[class*="title"] .g-title { + margin-left: 0; + margin-right: 0; + margin-top: 0; +} + +/* line 100, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 101, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.title1 .g-title { + background: #007dc3; + color: #fff; +} + +/* line 108, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 109, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1.moduletable, +.box1.widget, +.box1.g-outer-box, +.box1>.g-content { + background: #00639a; +} + +/* line 115, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1.moduletable, +.box1.widget, +.box1>.g-content { + color: #fff; +} + +/* line 120, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1 .button { + color: #fff; +} + +/* line 123, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1 .button:hover { + background: #004c77; +} + +/* line 128, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1 a { + color: #5dc5ff; +} + +/* line 131, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1 a:hover { + color: #fff; +} + +/* line 138, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 139, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box1.title1 .g-title { + background: #004c77; +} + +/* line 145, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 146, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.title2 .g-title { + background: #349b2e; + color: #fff; +} + +/* line 153, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 154, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2.moduletable, +.box2.widget, +.box2.g-outer-box, +.box2>.g-content { + background: #349b2e; +} + +/* line 160, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2.moduletable, +.box2.widget, +.box2>.g-content { + color: #fff; +} + +/* line 165, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2 .button { + color: #fff; + background: #277422; +} + +/* line 169, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2 .button:hover { + background: #20601c; +} + +/* line 174, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2 a { + color: #0c250b; +} + +/* line 177, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2 a:hover { + color: #fff; +} + +/* line 184, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 185, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box2.title2 .g-title { + background: #277422; +} + +/* line 191, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 192, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.title-gradient .g-title { + background-color: #007dc3; + background-image: -webkit-linear-gradient(-360deg, #007dc3, #349b2e); + background-image: linear-gradient(90deg, #007dc3, #349b2e); + color: #fff; +} + +/* line 199, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 200, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient.moduletable, +.box-gradient.widget, +.box-gradient.g-outer-box, +.box-gradient>.g-content { + background-color: #007dc3; + background-image: -webkit-linear-gradient(-315deg, #007dc3, #349b2e); + background-image: linear-gradient(45deg, #007dc3, #349b2e); +} + +/* line 206, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient.moduletable, +.box-gradient.widget, +.box-gradient>.g-content { + color: #fff; +} + +/* line 211, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient .button { + color: #fff; + background: #006daa; +} + +/* line 215, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient .button:hover { + background: #004c77; +} + +/* line 220, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient a { + color: #5dc5ff; +} + +/* line 223, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient a:hover { + color: #fff; +} + +/* line 230, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 231, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-gradient.title-gradient .g-title { + background-color: #007dc3; + background-image: -webkit-linear-gradient(-280deg, #007dc3, #349b2e); + background-image: linear-gradient(10deg, #007dc3, #349b2e); +} + +/* line 237, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 238, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.title-outline .g-title { + border: 1px solid #007dc3; +} + +/* line 244, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 245, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-outline.moduletable, +.box-outline.widget, +.box-outline.g-outer-box, +.box-outline>.g-content { + border: 1px solid #007dc3; +} + +/* line 253, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 254, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.box-outline.title-outline .g-title { + border: none; + border-bottom: 1px solid #007dc3; +} + +/* line 261, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 262, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.spaced .g-content { + margin: 1px; +} + +/* line 268, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 269, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.shadow .g-content { + box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); +} + +/* line 275, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 276, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.disabled .g-content { + opacity: 0.4; +} + +/* line 282, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 283, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.rounded .g-content { + border-radius: 0.25rem; + overflow: hidden; +} + +/* line 290, templates/g5_helium/scss/helium/styles/_variations.scss */ + +/* line 291, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.equal-height #g-aside, +.equal-height #g-mainbar, +.equal-height #g-sidebar { + width: 100%; +} + +/* line 297, templates/g5_helium/scss/helium/styles/_variations.scss */ + +.equal-height .g-content { + width: auto; +} + +/* line 2, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button { + display: inline-block; + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 600; + font-size: 0.8rem; + line-height: 1.15; + letter-spacing: 0.1rem; + text-transform: uppercase; + background: #007dc3; + color: #fff; + border: 1px solid transparent; + border-radius: 2.5rem; + margin: 0 0 0.5rem 0; + padding: 1.5rem 3.125rem; + vertical-align: middle; + text-shadow: none; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + transition: all 0.2s; +} + +/* line 20, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button:hover, +.button:active, +.button:focus { + background: #005c90; + color: #fff; +} + +/* line 26, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +/* line 29, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.fa { + line-height: 1.15; +} + +/* line 32, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +/* line 33, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.fa[class*="fa-"]:before, +.button.fa[class*="fa-"]:after { + font-family: FontAwesome; +} + +/* line 39, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-block { + width: 100%; + display: block; +} + +/* line 44, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-xlarge { + font-size: 1.2rem; + padding: 1.9rem 3.525rem; + border-radius: 3.5rem; +} + +/* line 50, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-large { + font-size: 1rem; + padding: 1.7rem 3.325rem; +} + +/* line 55, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-small { + font-size: 0.7rem; + padding: 1.2rem 2.825rem; +} + +/* line 60, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-xsmall { + font-size: 0.6rem; + padding: 1.1rem 2.725rem; +} + +/* line 65, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-2 { + background: #349b2e; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + transition: all 0.2s; +} + +/* line 70, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-2:hover, +.button.button-2:active, +.button.button-2:focus { + background: #277422; + color: #fff; +} + +/* line 76, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-outline { + background: transparent; + color: #007dc3; + border-color: #007dc3; +} + +/* line 81, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-outline:hover, +.button.button-outline:active, +.button.button-outline:focus { + background: #007dc3; + border-color: transparent; + color: #fff; +} + +/* line 88, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-gradient { + background-color: #007dc3; + background-image: -webkit-linear-gradient(-360deg, #007dc3, #349b2e); + background-image: linear-gradient(90deg, #007dc3, #349b2e); + border: none; +} + +/* line 92, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-gradient:hover, +.button.button-gradient:active, +.button.button-gradient:focus { + background: #007dc3; + color: white; +} + +/* line 98, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-bevel { + border-radius: 0.4rem; +} + +/* line 102, templates/g5_helium/scss/helium/styles/_buttons.scss */ + +.button.button-square { + border-radius: 0; +} + +/* line 1, templates/g5_helium/scss/helium/styles/_tables.scss */ + +table { + border: 1px solid #dce2e9; +} + +/* line 5, templates/g5_helium/scss/helium/styles/_tables.scss */ + +th { + background: #eceff3; + padding: 0.5rem; +} + +/* line 10, templates/g5_helium/scss/helium/styles/_tables.scss */ + +td { + padding: 0.5rem; + border: 1px solid #dce2e9; +} + +/* line 1, templates/g5_helium/scss/helium/styles/_forms.scss */ + +textarea, +select[multiple=multiple] { + background-color: white; + border: 1px solid #e0e0e5; +} + +/* line 5, templates/g5_helium/scss/helium/styles/_forms.scss */ + +textarea:hover, +select[multiple=multiple]:hover { + border-color: #007dc3; + box-shadow: 0 0 4px rgba(0, 125, 195, 0.5); +} + +/* line 10, templates/g5_helium/scss/helium/styles/_forms.scss */ + +textarea:focus, +select[multiple=multiple]:focus { + border-color: #007dc3; + box-shadow: 0 0 4px rgba(0, 125, 195, 0.5); +} + +/* line 16, templates/g5_helium/scss/helium/styles/_forms.scss */ + +textarea { + width: 100%; + box-sizing: border-box !important; + padding: 0.75rem 1.25rem; +} + +/* line 22, templates/g5_helium/scss/helium/styles/_forms.scss */ + +fieldset.input { + margin: 0; + padding: 0; +} + +/* line 27, templates/g5_helium/scss/helium/styles/_forms.scss */ + +input[type="color"], +input[type="date"], +input[type="datetime"], +input[type="datetime-local"], +input[type="email"], +input[type="month"], +input[type="number"], +input[type="password"], +input[type="search"], +input[type="tel"], +input[type="text"], +input[type="time"], +input[type="url"], +input[type="week"], +input:not([type]), +textarea { + background-color: white; + vertical-align: middle; + border: 1px solid #e0e0e5; + font-size: 1rem; + width: 100%; + line-height: 2; + padding: 0.375rem 1.25rem; + -webkit-transition: border-color 0.2s; + -moz-transition: border-color 0.2s; + transition: border-color 0.2s; +} + +/* line 37, templates/g5_helium/scss/helium/styles/_forms.scss */ + +input[type="color"]:hover, +input[type="date"]:hover, +input[type="datetime"]:hover, +input[type="datetime-local"]:hover, +input[type="email"]:hover, +input[type="month"]:hover, +input[type="number"]:hover, +input[type="password"]:hover, +input[type="search"]:hover, +input[type="tel"]:hover, +input[type="text"]:hover, +input[type="time"]:hover, +input[type="url"]:hover, +input[type="week"]:hover, +input:not([type]):hover, +textarea:hover { + box-shadow: 0 0 4px rgba(0, 125, 195, 0.5); +} + +/* line 41, templates/g5_helium/scss/helium/styles/_forms.scss */ + +input[type="color"]:focus, +input[type="date"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="email"]:focus, +input[type="month"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="text"]:focus, +input[type="time"]:focus, +input[type="url"]:focus, +input[type="week"]:focus, +input:not([type]):focus, +textarea:focus { + box-shadow: 0 0 4px rgba(0, 125, 195, 0.5); +} + +/* line 46, templates/g5_helium/scss/helium/styles/_forms.scss */ + +input[type="color"]:hover, +input[type="date"]:hover, +input[type="datetime"]:hover, +input[type="datetime-local"]:hover, +input[type="email"]:hover, +input[type="month"]:hover, +input[type="number"]:hover, +input[type="password"]:hover, +input[type="search"]:hover, +input[type="tel"]:hover, +input[type="text"]:hover, +input[type="time"]:hover, +input[type="url"]:hover, +input[type="week"]:hover, +input:not([type]):hover, +textarea:hover { + border-color: #007dc3; +} + +/* line 50, templates/g5_helium/scss/helium/styles/_forms.scss */ + +input[type="color"]:focus, +input[type="date"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="email"]:focus, +input[type="month"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="text"]:focus, +input[type="time"]:focus, +input[type="url"]:focus, +input[type="week"]:focus, +input:not([type]):focus, +textarea:focus { + border-color: #007dc3; +} + +/* line 1, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +/* line 2, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +/* line 3, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-dropdown { + -webkit-transition: none; + -moz-transition: none; + transition: none; +} + +/* line 7, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-fade.g-dropdown { + -webkit-transition: opacity 0.3s ease-out, -webkit-transform 0.3s ease-out; + -moz-transition: opacity 0.3s ease-out, -moz-transform 0.3s ease-out; + transition: opacity 0.3s ease-out, transform 0.3s ease-out; +} + +/* line 11, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-zoom.g-active { + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + -webkit-animation-name: g-dropdown-zoom; + -moz-animation-name: g-dropdown-zoom; + animation-name: g-dropdown-zoom; +} + +/* line 16, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-fade-in-up.g-active { + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + -webkit-animation-name: g-dropdown-fade-in-up; + -moz-animation-name: g-dropdown-fade-in-up; + animation-name: g-dropdown-fade-in-up; +} + +/* line 21, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-dropdown-bounce-in-left.g-active { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-name: g-dropdown-bounce-in-left; + -moz-animation-name: g-dropdown-bounce-in-left; + animation-name: g-dropdown-bounce-in-left; +} + +/* line 26, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-dropdown-bounce-in-right.g-active { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-name: g-dropdown-bounce-in-right; + -moz-animation-name: g-dropdown-bounce-in-right; + animation-name: g-dropdown-bounce-in-right; +} + +/* line 31, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-standard .g-dropdown-bounce-in-down.g-active { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-name: g-dropdown-bounce-in-down; + -moz-animation-name: g-dropdown-bounce-in-down; + animation-name: g-dropdown-bounce-in-down; +} + +/* line 37, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +/* line 38, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-fullwidth>.g-dropdown { + -webkit-transition: none; + -moz-transition: none; + transition: none; +} + +/* line 42, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-fullwidth>.g-fade.g-dropdown { + -webkit-transition: opacity 0.3s ease-out, -webkit-transform 0.3s ease-out; + -moz-transition: opacity 0.3s ease-out, -moz-transform 0.3s ease-out; + transition: opacity 0.3s ease-out, transform 0.3s ease-out; +} + +/* line 46, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-fullwidth>.g-zoom.g-active { + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + -webkit-animation-name: g-dropdown-zoom; + -moz-animation-name: g-dropdown-zoom; + animation-name: g-dropdown-zoom; +} + +/* line 51, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-fullwidth>.g-dropdown-bounce-in-left.g-active { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-name: g-dropdown-bounce-in-left; + -moz-animation-name: g-dropdown-bounce-in-left; + animation-name: g-dropdown-bounce-in-left; +} + +/* line 56, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-fullwidth>.g-dropdown-bounce-in-right.g-active { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-name: g-dropdown-bounce-in-right; + -moz-animation-name: g-dropdown-bounce-in-right; + animation-name: g-dropdown-bounce-in-right; +} + +/* line 61, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + +.g-main-nav .g-fullwidth>.g-dropdown-bounce-in-down.g-active { + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-name: g-dropdown-bounce-in-down; + -moz-animation-name: g-dropdown-bounce-in-down; + animation-name: g-dropdown-bounce-in-down; +} + +@-webkit-keyframes g-dropdown-zoom { + /* line 69, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: scale3d(0.8, 0.8, 0.8); + } + /* line 73, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 100% { + opacity: 1; + } +} + +@-moz-keyframes g-dropdown-zoom { + /* line 69, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -moz-transform: scale3d(0.8, 0.8, 0.8); + } + /* line 73, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 100% { + opacity: 1; + } +} + +@keyframes g-dropdown-zoom { + /* line 69, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: scale3d(0.8, 0.8, 0.8); + -moz-transform: scale3d(0.8, 0.8, 0.8); + -ms-transform: scale3d(0.8, 0.8, 0.8); + -o-transform: scale3d(0.8, 0.8, 0.8); + transform: scale3d(0.8, 0.8, 0.8); + } + /* line 73, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 100% { + opacity: 1; + } +} + +@-webkit-keyframes g-dropdown-fade-in-up { + /* line 79, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 30px, 0); + } + /* line 83, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 100% { + opacity: 1; + } +} + +@-moz-keyframes g-dropdown-fade-in-up { + /* line 79, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -moz-transform: translate3d(0, 30px, 0); + } + /* line 83, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 100% { + opacity: 1; + } +} + +@keyframes g-dropdown-fade-in-up { + /* line 79, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 30px, 0); + -moz-transform: translate3d(0, 30px, 0); + -ms-transform: translate3d(0, 30px, 0); + -o-transform: translate3d(0, 30px, 0); + transform: translate3d(0, 30px, 0); + } + /* line 83, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 100% { + opacity: 1; + } +} + +@-webkit-keyframes g-dropdown-bounce-in-left { + /* line 89, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 93, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: translate3d(-50px, 0, 0); + } + /* line 98, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + } + /* line 103, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + } + /* line 107, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -webkit-transform: translate3d(5px, 0, 0); + } + /* line 111, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -webkit-transform: none; + } +} + +@-moz-keyframes g-dropdown-bounce-in-left { + /* line 89, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 93, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -moz-transform: translate3d(-50px, 0, 0); + } + /* line 98, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -moz-transform: translate3d(25px, 0, 0); + } + /* line 103, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -moz-transform: translate3d(-10px, 0, 0); + } + /* line 107, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -moz-transform: translate3d(5px, 0, 0); + } + /* line 111, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -moz-transform: none; + } +} + +@keyframes g-dropdown-bounce-in-left { + /* line 89, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 93, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: translate3d(-50px, 0, 0); + -moz-transform: translate3d(-50px, 0, 0); + -ms-transform: translate3d(-50px, 0, 0); + -o-transform: translate3d(-50px, 0, 0); + transform: translate3d(-50px, 0, 0); + } + /* line 98, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + -moz-transform: translate3d(25px, 0, 0); + -ms-transform: translate3d(25px, 0, 0); + -o-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + /* line 103, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + -moz-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + -o-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + /* line 107, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -webkit-transform: translate3d(5px, 0, 0); + -moz-transform: translate3d(5px, 0, 0); + -ms-transform: translate3d(5px, 0, 0); + -o-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + /* line 111, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; + } +} + +@-webkit-keyframes g-dropdown-bounce-in-down { + /* line 117, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 121, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -50px, 0); + } + /* line 126, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + } + /* line 131, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -webkit-transform: translate3d(0, -10px, 0); + } + /* line 135, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -webkit-transform: translate3d(0, 5px, 0); + } + /* line 139, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -webkit-transform: none; + } +} + +@-moz-keyframes g-dropdown-bounce-in-down { + /* line 117, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 121, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -moz-transform: translate3d(0, -50px, 0); + } + /* line 126, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -moz-transform: translate3d(0, 25px, 0); + } + /* line 131, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -moz-transform: translate3d(0, -10px, 0); + } + /* line 135, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -moz-transform: translate3d(0, 5px, 0); + } + /* line 139, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -moz-transform: none; + } +} + +@keyframes g-dropdown-bounce-in-down { + /* line 117, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 121, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -50px, 0); + -moz-transform: translate3d(0, -50px, 0); + -ms-transform: translate3d(0, -50px, 0); + -o-transform: translate3d(0, -50px, 0); + transform: translate3d(0, -50px, 0); + } + /* line 126, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + -moz-transform: translate3d(0, 25px, 0); + -ms-transform: translate3d(0, 25px, 0); + -o-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + /* line 131, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -moz-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + -o-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + /* line 135, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -webkit-transform: translate3d(0, 5px, 0); + -moz-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + -o-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + /* line 139, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; + } +} + +@-webkit-keyframes g-dropdown-bounce-in-right { + /* line 145, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 149, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from { + opacity: 0; + -webkit-transform: translate3d(50px, 0, 0); + } + /* line 154, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + } + /* line 159, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -webkit-transform: translate3d(10px, 0, 0); + } + /* line 163, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + } + /* line 167, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -webkit-transform: none; + } +} + +@-moz-keyframes g-dropdown-bounce-in-right { + /* line 145, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 149, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from { + opacity: 0; + -moz-transform: translate3d(50px, 0, 0); + } + /* line 154, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -moz-transform: translate3d(-25px, 0, 0); + } + /* line 159, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -moz-transform: translate3d(10px, 0, 0); + } + /* line 163, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -moz-transform: translate3d(-5px, 0, 0); + } + /* line 167, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -moz-transform: none; + } +} + +@keyframes g-dropdown-bounce-in-right { + /* line 145, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from, + 60%, + 75%, + 90%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* line 149, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + from { + opacity: 0; + -webkit-transform: translate3d(50px, 0, 0); + -moz-transform: translate3d(50px, 0, 0); + -ms-transform: translate3d(50px, 0, 0); + -o-transform: translate3d(50px, 0, 0); + transform: translate3d(50px, 0, 0); + } + /* line 154, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + -moz-transform: translate3d(-25px, 0, 0); + -ms-transform: translate3d(-25px, 0, 0); + -o-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + /* line 159, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 75% { + -webkit-transform: translate3d(10px, 0, 0); + -moz-transform: translate3d(10px, 0, 0); + -ms-transform: translate3d(10px, 0, 0); + -o-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + /* line 163, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + -moz-transform: translate3d(-5px, 0, 0); + -ms-transform: translate3d(-5px, 0, 0); + -o-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + /* line 167, templates/g5_helium/scss/helium/styles/_dropdownanimations.scss */ + to { + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; + } +} + +/* line 1, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 2, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 4, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +@media only all and (min-width: 48rem) { + .g-home-particles.g-helium-style #g-navigation { + background: transparent; + } + /* line 9, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + .g-home-particles.g-helium-style #g-navigation .g-logo { + color: #fff; + } + /* line 12, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + /* line 13, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + .g-home-particles.g-helium-style #g-navigation .g-logo.g-logo-helium svg { + fill: #fff; + } +} + +/* line 21, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 22, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-navigation .g-social a { + color: rgba(255, 255, 255, 0.5); +} + +@media only all and (max-width: 47.938rem) { + .g-home-particles.g-helium-style #g-navigation .g-social a { + color: inherit; + } +} + +/* line 29, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-navigation .g-social a:hover { + color: #fff; +} + +@media only all and (max-width: 47.938rem) { + .g-home-particles.g-helium-style #g-navigation .g-social a:hover { + color: #007dc3; + } +} + +/* line 41, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-header { + text-align: center; + padding: 0; +} + +@media only all and (min-width: 48rem) { + .g-home-particles.g-helium-style #g-header { + margin-top: -9.5rem; + padding: 0; + } +} + +@media only all and (min-width: 30.062rem) and (max-width: 47.938rem) { + .g-home-particles.g-helium-style #g-header { + padding-top: 2rem; + } +} + +/* line 55, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 56, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-header .button.button-outline { + background: transparent; + color: #fff; + border-color: rgba(255, 255, 255, 0.5); +} + +/* line 61, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-header .button.button-outline:hover, +.g-home-particles.g-helium-style #g-header .button.button-outline:active, +.g-home-particles.g-helium-style #g-header .button.button-outline:focus { + background: rgba(255, 255, 255, 0.5); + border-color: transparent; +} + +/* line 70, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-intro { + padding-bottom: 0; +} + +/* line 73, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-intro .g-content { + margin-bottom: 0; + padding-bottom: 0; +} + +/* line 77, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 78, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style #g-intro .g-content .fp-intro p { + margin-bottom: 2rem; +} + +/* line 86, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 87, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +@media only all and (max-width: 47.938rem) { + /* line 89, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + .g-home-particles.g-helium-style .fp-features .g-block:not(:last-child) { + margin-bottom: 4.5rem; + } +} + +/* line 94, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 95, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-features .g-block .card .card-block { + padding: 0 0.938rem; +} + +/* line 98, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-features .g-block .card .card-block .fa { + width: 120px; + height: 120px; + font-size: 4.125rem; + line-height: 6.5rem; + margin: 0 auto 20px; + border: 8px solid rgba(224, 224, 229, 0.4); + border-radius: 50%; +} + +/* line 108, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-features .g-block .card .card-block .card-title { + margin-bottom: 5px; + font-size: 2.25rem; + line-height: 1.66rem; + font-weight: 600; +} + +/* line 115, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-features .g-block .card .card-block .card-subtitle { + display: block; + color: rgba(58, 68, 74, 0.5); + margin-bottom: 1.5rem; + font-weight: 200; +} + +/* line 121, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-features .g-block .card .card-block .card-subtitle:after { + display: block; + width: 80%; + height: 1px; + margin: 30px auto 0; + content: ""; + background-color: rgba(224, 224, 229, 0.8); +} + +/* line 136, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 137, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-testimonials blockquote { + margin: 2.5rem 0; + border-left: none; +} + +/* line 141, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-testimonials blockquote p { + color: #eceeef; +} + +/* line 145, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 146, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-testimonials blockquote footer:after { + display: block; + margin: 0 auto; + width: 2.5rem; + height: 1px; + content: ""; + background-color: rgba(255, 255, 255, 0.25); +} + +/* line 157, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-testimonials img { + margin-bottom: 1.25rem; + border: 4px solid #fff; +} + +/* line 164, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 165, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 166, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-multi-column-text .g-block p { + padding: 0 5rem; + border-left: 1px solid #e0e0e5; +} + +@media only all and (max-width: 47.938rem) { + .g-home-particles.g-helium-style .fp-multi-column-text .g-block p { + border: none; + } +} + +/* line 175, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 176, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-multi-column-text .g-block:first-child p { + padding-left: 0; + padding-right: 5rem; + border-left: none; +} + +@media only all and (max-width: 47.938rem) { + .g-home-particles.g-helium-style .fp-multi-column-text .g-block:first-child p { + padding: 0; + } +} + +/* line 187, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +/* line 188, templates/g5_helium/scss/helium/styles/_helium-style.scss */ + +.g-home-particles.g-helium-style .fp-multi-column-text .g-block:last-child p { + padding-right: 0; + padding-left: 5rem; +} + +@media only all and (max-width: 47.938rem) { + .g-home-particles.g-helium-style .fp-multi-column-text .g-block:last-child p { + padding: 0; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_pagesurround.scss */ + +#g-page-surround { + background: #fff; + overflow: hidden; +} + +/* line 5, templates/g5_helium/scss/helium/sections/_pagesurround.scss */ + +.g-bodyonly #g-page-surround { + color: #3a444a; + background: #fff; +} + +@media print { + /* line 12, templates/g5_helium/scss/helium/sections/_pagesurround.scss */ + #g-page-surround { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header { + background: #312f38; + color: #eceeef; + padding: 3rem 0; + position: relative; + z-index: 10; + background: url('https://forge.etsi.org/files/ETSI/etsi-arrows-crop.png') center center no-repeat; + background-size: cover; +} + +/* line 13, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header:before { + position: absolute; + width: 100%; + height: 100%; + top: 0; + bottom: 0; + left: 0; + right: 0; + content: ""; + z-index: -1; + opacity: 0.85; + background-color: #007dc3; + background-image: -webkit-linear-gradient(-310deg, #007dc3, #349b2e); + background-image: linear-gradient(40deg, #007dc3, #349b2e); +} + +/* line 30, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header a { + color: rgba(236, 238, 239, 0.6); +} + +/* line 33, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header a:hover { + color: rgba(236, 238, 239, 0.8); +} + +/* line 38, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header h2 { + font-weight: 300; + line-height: 2; +} + +@media only all and (min-width: 30.062rem) and (max-width: 47.938rem) { + #g-header h2 { + font-size: 1.35rem; + } +} + +/* line 46, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header h2 em { + font-weight: 500; +} + +/* line 50, templates/g5_helium/scss/helium/sections/_header.scss */ + +#g-header h2.large-heading { + font-size: 3.8rem; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + #g-header h2.large-heading { + font-size: 2.375rem; + } +} + +@media only all and (max-width: 47.938rem) { + #g-header h2.large-heading { + font-size: 1.9rem; + } +} + +@media print { + /* line 65, templates/g5_helium/scss/helium/sections/_header.scss */ + #g-header { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation { + background: #fff; + color: #000; + position: relative; + z-index: 11; +} + +/* line 8, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-container { + position: relative; +} + +/* line 13, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-logo { + color: #000; + line-height: 2.8rem; +} + +/* line 17, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 18, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-logo.g-logo-helium svg { + fill: #000; +} + +/* line 25, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +@media only all and (max-width: 47.938rem) { + /* line 27, templates/g5_helium/scss/helium/sections/_navigation.scss */ + #g-navigation .g-social-header .g-content { + margin-top: 0; + padding: 0 0.938rem; + } +} + +/* line 34, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-social { + text-align: right; + line-height: 3.125; +} + +@media only all and (max-width: 47.938rem) { + #g-navigation .g-social { + text-align: center; + } +} + +/* line 42, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +.rtl #g-navigation .g-social { + text-align: left; +} + +/* line 48, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav { + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 700; + line-height: 1.5; +} + +/* line 53, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel { + line-height: 3.125; +} + +/* line 56, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li { + margin: 0 0.5rem; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + #g-navigation .g-main-nav .g-toplevel>li { + margin: 0 0.2rem; + } +} + +/* line 63, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li>.g-menu-item-container { + color: #000; + padding: 0.2345rem 0; +} + +/* line 67, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li>.g-menu-item-container>.g-menu-item-content { + padding: 0 0 0.2345rem; +} + +/* line 71, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li>.g-menu-item-container .g-menu-parent-indicator { + vertical-align: top; +} + +/* line 74, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li>.g-menu-item-container .g-menu-parent-indicator:after { + content: "\f107"; + opacity: 0.75; + width: 1rem; + font-weight: 400; +} + +/* line 82, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li>.g-menu-item-container i { + opacity: 1; +} + +/* line 87, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 88, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li:hover>.g-menu-item-container { + color: rgba(0, 0, 0, 0.7); +} + +/* line 91, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li:hover>.g-menu-item-container>.g-selected { + color: rgba(0, 0, 0, 0.7); +} + +/* line 97, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 98, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 99, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li.active>.g-menu-item-container>.g-menu-item-content { + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2); +} + +/* line 103, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-toplevel>li.active>.g-menu-item-container>.g-selected { + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2); +} + +/* line 111, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-dropdown { + background: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.25rem; +} + +/* line 116, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-dropdown>.g-dropdown-column { + border: 1px solid transparent; +} + +/* line 120, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-dropdown a { + color: #000; +} + +/* line 123, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-dropdown a:hover { + color: #007dc3; +} + +/* line 128, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-dropdown .g-dropdown-column { + position: relative; +} + +/* line 132, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-dropdown .g-dropdown { + margin-left: 20px; +} + +/* line 137, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 138, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 140, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container { + color: #000; +} + +/* line 143, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container>.g-selected { + color: #000; +} + +/* line 148, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 149, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li:not(:last-child)>.g-menu-item-container { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); +} + +/* line 152, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li:not(:last-child)>.g-menu-item-container>.g-selected { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); +} + +/* line 158, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 159, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li:hover>.g-menu-item-container, +#g-navigation .g-main-nav .g-sublevel>li.active>.g-menu-item-container { + color: #007dc3; +} + +/* line 162, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li:hover>.g-menu-item-container>.g-selected, +#g-navigation .g-main-nav .g-sublevel>li.active>.g-menu-item-container>.g-selected { + color: #007dc3; +} + +/* line 168, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 169, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li.g-menu-item-type-particle>.g-menu-item-container { + border: 0; +} + +/* line 173, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 174, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li.g-menu-item-type-particle:hover>.g-menu-item-container, +#g-navigation .g-main-nav .g-sublevel>li.g-menu-item-type-particle.active>.g-menu-item-container { + border: 0; +} + +/* line 180, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 181, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +/* line 182, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-main-nav .g-sublevel>li.g-menu-item-type-particle:hover>.g-menu-item-container { + background: inherit; +} + +/* line 191, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +@media only all and (max-width: 47.938rem) { + #g-navigation .g-menu-block { + display: none; + } +} + +/* line 197, templates/g5_helium/scss/helium/sections/_navigation.scss */ + +#g-navigation .g-menu-item-subtitle { + text-transform: lowercase; + font-size: 0.8rem; + opacity: 0.8; + padding-top: 0; +} + +@media print { + /* line 206, templates/g5_helium/scss/helium/sections/_navigation.scss */ + #g-navigation { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-toplevel>li>.g-menu-item-container, +.g-main-nav .g-sublevel>li>.g-menu-item-container { + font-size: 1rem; + font-weight: bold; + padding: 0.469rem 0; + white-space: normal; + overflow-wrap: break-word; + word-wrap: break-word; + word-break: break-all; + -webkit-transition: 0.35s ease; + -moz-transition: 0.35s ease; + transition: 0.35s ease; +} + +/* line 10, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-standard .g-dropdown { + width: 180px; + float: left; +} + +/* line 16, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav { + z-index: 20; +} + +/* line 19, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 20, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 25, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 27, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 29, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-toplevel>li>.g-menu-item-container { + text-decoration: none; + line-height: 1; +} + +/* line 35, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 36, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-toplevel>li>.g-menu-item-container>.g-menu-item-content { + word-break: normal; + line-height: normal; +} + +/* line 42, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-toplevel>li.g-parent .g-menu-parent-indicator:after { + width: 1.25rem; + padding: 0.1rem 0.25rem 0.25rem 0rem; + height: 1.25rem; +} + +/* line 49, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-toplevel i { + opacity: 0.6; +} + +/* line 54, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 55, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-standard>.g-dropdown:before, +.g-main-nav .g-fullwidth>.g-dropdown:before { + top: -7px !important; +} + +/* line 58, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-standard>.g-dropdown .g-dropdown, +.g-main-nav .g-fullwidth>.g-dropdown .g-dropdown { + top: -7px; +} + +/* line 62, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 63, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-standard .g-dropdown:after, +.g-main-nav .g-fullwidth .g-dropdown:after { + left: -30px !important; +} + +/* line 68, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-dropdown { + text-align: left; + border-radius: 0.25rem; +} + +/* line 71, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.dir-rtl .g-main-nav .g-dropdown { + text-align: right; +} + +/* line 75, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 76, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-sublevel>li { + margin: 0.3125rem 0.9375rem; + padding: 0 0 0.2345rem 0; +} + +/* line 79, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-sublevel>li>.g-menu-item-container { + line-height: normal; + font-size: 0.85rem; + font-weight: bold; +} + +/* line 84, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-sublevel>li>.g-menu-item-container>.g-menu-item-content { + word-break: normal; + vertical-align: top; +} + +/* line 89, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 90, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-sublevel>li.g-parent .g-menu-parent-indicator { + right: 0; + top: 0; + margin-top: -0.35rem; +} + +/* line 94, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-main-nav .g-sublevel>li.g-parent .g-menu-parent-indicator:after { + content: "\f0da"; + position: relative; + opacity: 1; + top: 0.75rem; +} + +/* line 107, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-menu-item-subtitle { + opacity: 0.7; +} + +/* line 112, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 113, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-preset-thumbnails .g-block { + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + -webkit-flex: 1 1 auto !important; + -moz-flex: 1 1 auto !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +/* line 115, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-preset-thumbnails .g-block>.g-content { + margin: 1rem 0; + padding: 0 0.5rem !important; +} + +/* line 42, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 43, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 44, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +.g-main-nav .g-standard .g-dropdown { + margin-left: 15px; +} + +/* line 46, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +.g-main-nav .g-standard .g-dropdown:after { + content: ""; + position: absolute; + display: block; + top: 0; + left: -15px; + right: -15px; + bottom: 0; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + z-index: -1; +} + +/* line 61, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +.g-main-nav .g-standard>.g-dropdown { + margin-left: 0; +} + +/* line 20, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 21, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +/* line 22, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +.g-main-nav .g-standard>.g-dropdown, +.g-main-nav .g-fullwidth>.g-dropdown { + margin-top: 5px; +} + +/* line 24, media/gantry5/engines/nucleus/scss/nucleus/mixins/_nav.scss */ + +.g-main-nav .g-standard>.g-dropdown:before, +.g-main-nav .g-fullwidth>.g-dropdown:before { + content: ""; + position: absolute; + display: block; + top: -5px; + left: 0; + right: 0; + bottom: 0; + border-top: 5px solid transparent; + z-index: -1; +} + +/* line 129, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 130, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 131, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 132, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 133, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 134, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 135, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-menu-hastouch .g-standard .g-toplevel>li.g-menu-item-link-parent>.g-menu-item-container>.g-menu-parent-indicator, +.g-menu-hastouch .g-fullwidth .g-toplevel>li.g-menu-item-link-parent>.g-menu-item-container>.g-menu-parent-indicator { + border-radius: 0.25rem; + margin: -0.2rem 0 -0.2rem 0.5rem; + padding: 0.2rem; +} + +/* line 145, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 146, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 147, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 148, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +/* line 149, templates/g5_helium/scss/helium/sections/_mainnav.scss */ + +.g-menu-hastouch .g-standard .g-sublevel>li.g-menu-item-link-parent>.g-menu-item-container>.g-menu-parent-indicator, +.g-menu-hastouch .g-fullwidth .g-sublevel>li.g-menu-item-link-parent>.g-menu-item-container>.g-menu-parent-indicator { + border-radius: 0.25rem; + padding: 0.1rem; + margin-top: -0.1rem; + margin-right: -0.1rem; +} + +/* line 1, templates/g5_helium/scss/helium/sections/_intro.scss */ + +#g-intro { + background: #f4f5f7; + color: #424753; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_intro.scss */ + #g-intro { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_features.scss */ + +#g-features { + background: #fff; + color: #424753; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_features.scss */ + #g-features { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_utility.scss */ + +#g-utility { + background: #424753; + color: #fff; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_utility.scss */ + #g-utility { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_above.scss */ + +#g-above { + background: #f4f5f7; + color: #424753; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_above.scss */ + #g-above { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_testimonials.scss */ + +#g-testimonials { + background: #8f4dae; + color: #eceeef; + padding: 3rem 0; + position: relative; + z-index: 10; + background: url('../../images/testimonials/img01.jpg') no-repeat center top; + background-size: cover; +} + +/* line 13, templates/g5_helium/scss/helium/sections/_testimonials.scss */ + +#g-testimonials:before { + background-color: #007dc3; + background-image: -webkit-linear-gradient(-310deg, #007dc3, #349b2e); + background-image: linear-gradient(40deg, #007dc3, #349b2e); + opacity: 0.9; + position: absolute; + content: ""; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; +} + +/* line 27, templates/g5_helium/scss/helium/sections/_testimonials.scss */ + +#g-testimonials a { + color: #2ab3ff; +} + +/* line 30, templates/g5_helium/scss/helium/sections/_testimonials.scss */ + +#g-testimonials a:hover { + color: inherit; +} + +@media print { + /* line 37, templates/g5_helium/scss/helium/sections/_testimonials.scss */ + #g-testimonials { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_expanded.scss */ + +#g-expanded { + background: #fff; + color: #424753; + padding: 3rem; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + #g-expanded { + padding: 0; + } +} + +@media print { + /* line 12, templates/g5_helium/scss/helium/sections/_expanded.scss */ + #g-expanded { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_main.scss */ + +#g-mainbar { + background: #fff; + color: #3a444a; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_main.scss */ + #g-main { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_aside.scss */ + +#g-aside { + background: #fff; + color: #3a444a; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_aside.scss */ + #g-aside { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_sidebar.scss */ + +#g-sidebar { + background: #fff; + color: #3a444a; + padding: 3rem 0; +} + +@media print { + /* line 8, templates/g5_helium/scss/helium/sections/_sidebar.scss */ + #g-sidebar { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer { + background: #312f38; + color: #fff; + padding: 3rem 0; +} + +/* line 6, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-content { + margin: 0.625rem 0; +} + +/* line 11, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-copyright { + font-size: 0.8125rem; + line-height: 1.25rem; +} + +@media only all and (max-width: 47.938rem) { + #g-footer .g-copyright { + text-align: center; + } +} + +/* line 21, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-horizontalmenu { + padding: 0.5rem 0; + text-align: right; +} + +@media only all and (max-width: 47.938rem) { + #g-footer .g-horizontalmenu { + text-align: center; + } +} + +/* line 29, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-horizontalmenu a { + color: #fff; +} + +/* line 32, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-horizontalmenu a:hover { + color: rgba(255, 255, 255, 0.6); + box-shadow: 0 2px 0 rgba(255, 255, 255, 0.2); +} + +/* line 40, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-totop { + padding: 0.5rem 0; +} + +/* line 43, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-totop a { + color: #fff; +} + +/* line 46, templates/g5_helium/scss/helium/sections/_footer.scss */ + +#g-footer .g-totop a:hover { + color: rgba(255, 255, 255, 0.6); +} + +@media print { + /* line 54, templates/g5_helium/scss/helium/sections/_footer.scss */ + #g-footer { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas { + background: #4db2b3; + width: 12rem; + color: #eceeef; +} + +/* line 6, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas a { + color: #eceeef; +} + +/* line 9, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas a:hover { + color: #002b44; +} + +/* line 14, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas h1, +#g-offcanvas h2, +#g-offcanvas h3, +#g-offcanvas h4, +#g-offcanvas h5, +#g-offcanvas h6, +#g-offcanvas strong { + color: #eceeef; +} + +/* line 18, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas .button { + background: #349b2e; + color: #eceeef; +} + +/* line 21, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas .button:hover { + background: #3baf34; +} + +/* line 24, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas .button:active { + background: #2d8728; +} + +/* line 29, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas hr { + border-bottom: 1px solid rgba(255, 255, 255, 0.5); +} + +/* line 33, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas .g-offcanvas-toggle { + color: #eceeef; + left: 9rem; + top: 1rem; +} + +/* line 40, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-toggle { + font-size: 2rem; + color: #4db2b3; + width: 32px; + height: 32px; + top: 1.2rem; + z-index: 100001; + display: none; +} + +/* line 48, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-open .g-offcanvas-toggle { + color: rgba(255, 255, 255, 0.6); +} + +@media only all and (max-width: 48rem) { + .g-offcanvas-toggle { + display: block; + } +} + +/* line 62, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 63, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-open .g-nav-overlay { + z-index: 100000; +} + +/* line 67, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 68, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-open .g-offcanvas-left #g-page-surround { + left: 12rem; +} + +/* line 73, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 74, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-open .g-offcanvas-right #g-page-surround { + right: 12rem; +} + +/* line 79, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 80, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 81, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-open .dir-rtl.g-offcanvas-left #g-offcanvas { + right: auto; +} + +/* line 86, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 87, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-offcanvas-open .dir-rtl.g-offcanvas-right #g-offcanvas { + left: auto; +} + +/* line 95, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 96, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 97, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul { + background: #4db2b3; +} + +/* line 100, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 101, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul>li>.g-menu-item-container { + color: #eceeef; + padding: 0.938rem; +} + +/* line 106, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 107, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 108, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul>li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active>.g-menu-item-container, +#g-offcanvas #g-mobilemenu-container ul>li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module):hover>.g-menu-item-container { + color: #eceeef; +} + +/* line 113, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul>li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module).active { + background: #00639a; +} + +/* line 117, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul>li:not(.g-menu-item-type-particle):not(.g-menu-item-type-module):hover { + background: #006daa; +} + +/* line 122, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 123, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 124, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul>li.g-menu-item-link-parent>.g-menu-item-container>.g-menu-parent-indicator { + border: 1px solid #0091e2; + background: #0070af; + border-radius: 0.25rem; + margin: -0.3rem 0 -0.2rem 0.5rem; + padding: 0.2rem; +} + +/* line 128, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul>li.g-menu-item-link-parent>.g-menu-item-container>.g-menu-parent-indicator:hover { + background: #00639a; +} + +/* line 140, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul .g-dropdown-column { + width: 12rem; +} + +/* line 144, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-offcanvas #g-mobilemenu-container ul i.fa { + width: 1.5rem; +} + +/* line 151, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +#g-mobilemenu-container { + margin: -1.563rem; +} + +/* line 156, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +/* line 157, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + +.g-preset-thumbnails img { + margin-bottom: 1rem; +} + +@media only all and (max-width: 47.938rem) { + .g-preset-thumbnails { + text-align: center; + } + /* line 164, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + .g-preset-thumbnails .g-block { + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + -webkit-flex: 0 0 auto; + -moz-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50% !important; + } + /* line 169, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + .g-preset-thumbnails .g-content { + margin: 0; + } +} + +@media print { + /* line 176, templates/g5_helium/scss/helium/sections/_offcanvas.scss */ + #g-offcanvas { + background: #fff !important; + color: #000 !important; + } +} + +/* line 1, templates/g5_helium/scss/helium/layouts/_error.scss */ + +/* line 2, templates/g5_helium/scss/helium/layouts/_error.scss */ + +/* line 3, templates/g5_helium/scss/helium/layouts/_error.scss */ + +.g-error #g-header .g-content { + padding: 3.5rem 0.938rem; + text-align: center; +} + +/* line 7, templates/g5_helium/scss/helium/layouts/_error.scss */ + +.g-error #g-header .g-content h2.g-title { + font-size: 3.5rem; +} + +/* line 11, templates/g5_helium/scss/helium/layouts/_error.scss */ + +.g-error #g-header .g-content p { + font-size: 1.5rem; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + /* line 16, templates/g5_helium/scss/helium/layouts/_error.scss */ + .g-error #g-header .g-content h2.g-title { + font-size: 3rem; + } + /* line 20, templates/g5_helium/scss/helium/layouts/_error.scss */ + .g-error #g-header .g-content p { + font-size: 1rem; + } +} + +@media only all and (max-width: 47.938rem) { + .g-error #g-header .g-content { + padding: 1rem 0.938rem; + } + /* line 28, templates/g5_helium/scss/helium/layouts/_error.scss */ + .g-error #g-header .g-content h2.g-title { + font-size: 2rem; + } + /* line 32, templates/g5_helium/scss/helium/layouts/_error.scss */ + .g-error #g-header .g-content p { + font-size: 1rem; + } +} + +/* line 39, templates/g5_helium/scss/helium/layouts/_error.scss */ + +.g-error #g-mainbar { + text-align: center; +} + +/* line 43, templates/g5_helium/scss/helium/layouts/_error.scss */ + +/* line 44, templates/g5_helium/scss/helium/layouts/_error.scss */ + +/* line 46, templates/g5_helium/scss/helium/layouts/_error.scss */ + +.g-error #g-footer .g-content .g-totop { + text-align: center; +} + +/* line 1, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +/* line 2, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +/* line 3, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #g-header .g-content { + padding: 3.5rem 0.938rem; + text-align: center; +} + +/* line 7, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #g-header .g-content h2.g-title { + font-size: 3.5rem; +} + +/* line 11, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #g-header .g-content p { + font-size: 1.5rem; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + /* line 16, templates/g5_helium/scss/helium/layouts/_offline.scss */ + .g-offline #g-header .g-content h2.g-title { + font-size: 3rem; + } + /* line 20, templates/g5_helium/scss/helium/layouts/_offline.scss */ + .g-offline #g-header .g-content p { + font-size: 1rem; + } +} + +@media only all and (max-width: 47.938rem) { + .g-offline #g-header .g-content { + padding: 1rem 0.938rem; + } + /* line 28, templates/g5_helium/scss/helium/layouts/_offline.scss */ + .g-offline #g-header .g-content h2.g-title { + font-size: 2rem; + } + /* line 32, templates/g5_helium/scss/helium/layouts/_offline.scss */ + .g-offline #g-header .g-content p { + font-size: 1rem; + } +} + +/* line 39, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +/* line 40, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +/* line 42, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #g-footer .g-content .g-totop { + text-align: center; +} + +/* line 47, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #grav-login { + max-width: 36rem; +} + +/* line 49, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #grav-login .form-actions { + margin-top: 0.625rem; +} + +@media only all and (max-width: 47.938rem) { + .g-offline #grav-login .form-actions { + text-align: center; + } +} + +/* line 55, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +.g-offline #grav-login .button { + text-transform: capitalize; + font-size: 1rem; + padding: 1rem 2.5rem; +} + +/* line 60, templates/g5_helium/scss/helium/layouts/_offline.scss */ + +@media only all and (max-width: 47.938rem) { + .g-offline #grav-login .rememberme { + float: none; + display: block; + } +} + +/* line 1, templates/g5_helium/scss/helium/particles/_logo.scss */ + +.g-logo { + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 900; + font-size: 1.35rem; + vertical-align: middle; + text-transform: uppercase; +} + +/* line 8, templates/g5_helium/scss/helium/particles/_logo.scss */ + +.g-logo img, +.g-logo svg { + display: block; +} + +/* line 12, templates/g5_helium/scss/helium/particles/_logo.scss */ + +/* line 13, templates/g5_helium/scss/helium/particles/_logo.scss */ + +.g-logo.g-logo-helium img, +.g-logo.g-logo-helium svg { + max-height: 50px; +} + +/* line 17, templates/g5_helium/scss/helium/particles/_logo.scss */ + +.g-logo.g-logo-helium svg { + fill: #fff; +} + +@media only all and (max-width: 47.938rem) { + .g-logo { + display: block; + text-align: center; + margin: -0.85rem 0; + padding-left: 0.938rem; + } + /* line 28, templates/g5_helium/scss/helium/particles/_logo.scss */ + .g-logo img, + .g-logo svg { + margin: 0 auto; + } +} + +/* line 1, templates/g5_helium/scss/helium/particles/_social.scss */ + +/* line 2, templates/g5_helium/scss/helium/particles/_social.scss */ + +.g-social a { + padding: 0.1875rem 0.4rem; + text-decoration: none; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-social a { + padding: 0.1875rem 0.25rem; + } +} + +/* line 1, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array { + margin-left: -0.938rem; + margin-right: -0.938rem; +} + +/* line 5, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-grid { + margin-bottom: 2.3445rem; +} + +/* line 8, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-grid:last-child { + margin-bottom: 0; +} + +/* line 11, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +/* line 12, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +/* line 13, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +@media only all and (max-width: 47.938rem) { + .g-content-array .g-grid:last-child .g-block:last-child .g-array-item { + margin-bottom: 0; + } +} + +@media only all and (max-width: 47.938rem) { + .g-content-array .g-grid { + margin-bottom: 0; + } +} + +/* line 27, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-content { + margin: 0; + padding-top: 0; + padding-bottom: 0; +} + +/* line 33, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +@media only all and (max-width: 47.938rem) { + .g-content-array .g-array-item { + margin-bottom: 2.3445rem; + } +} + +/* line 39, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-array-item-image { + margin: 0 0 15px 0; +} + +/* line 43, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-item-title { + margin: 0; +} + +/* line 47, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +/* line 48, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-array-item-details, +.g-content-array .g-array-item-text, +.g-content-array .g-array-item-read-more { + margin: 15px 0 0; +} + +/* line 53, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-array-item-details { + font-size: 90%; +} + +/* line 56, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-array-item-details>span { + margin-right: 10px; +} + +/* line 60, templates/g5_helium/scss/helium/particles/_contentarray.scss */ + +.g-content-array .g-array-item-details i { + margin-right: 5px; +} + +/* line 1, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 3, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper { + background: linear-gradient(45deg, #349b2e, #007dc3); + color: #fff; +} + +/* line 8, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 9, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 10, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-row.g-grid.image-position-right { + flex-flow: row-reverse wrap; +} + +/* line 17, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-image-wrapper { + position: relative; + z-index: 1; + overflow: hidden; +} + +/* line 22, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-image-wrapper img { + display: block; + height: auto; + -webkit-transform: scale3d(1.8, 1.8, 1); + -moz-transform: scale3d(1.8, 1.8, 1); + -ms-transform: scale3d(1.8, 1.8, 1); + -o-transform: scale3d(1.8, 1.8, 1); + transform: scale3d(1.8, 1.8, 1); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.7, 0, 0.3, 1); + -moz-transition: -moz-transform 0.5s cubic-bezier(0.7, 0, 0.3, 1); + transition: transform 0.5s cubic-bezier(0.7, 0, 0.3, 1); +} + +/* line 30, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 31, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-image-wrapper:hover img { + -webkit-transform: scale3d(1, 1, 1); + -moz-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + -o-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); +} + +/* line 36, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-image-wrapper:after { + position: absolute; + top: 0; + right: 0; + z-index: 1; + width: 100%; + height: 100%; + content: ""; + background-color: rgba(255, 255, 255, 0.75); + opacity: 0.6; + -webkit-transition: opacity 0.3s; + -moz-transition: opacity 0.3s; + transition: opacity 0.3s; +} + +/* line 49, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 50, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-image-wrapper:hover:after { + opacity: 0; +} + +/* line 57, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper { + max-width: 22.5rem; + padding: 6.5rem 0; + margin: 0 auto; +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .g-contentcubes .cube-items-wrapper .cube-content-wrapper { + padding: 4.6rem 0; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-contentcubes .cube-items-wrapper .cube-content-wrapper { + max-width: 18.5rem; + padding: 2.6rem 0; + } +} + +@media only all and (max-width: 47.938rem) { + .g-contentcubes .cube-items-wrapper .cube-content-wrapper { + padding: 3rem 0; + } +} + +@media only all and (max-width: 30rem) { + .g-contentcubes .cube-items-wrapper .cube-content-wrapper { + max-width: 14.5rem; + } +} + +/* line 80, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-label { + display: inline-block; + background: #007dc3; + padding: 0.35em 0.85em; + margin-bottom: 0.5rem; + font-size: 0.8125rem; + line-height: 1.1538; + font-weight: 600; + border-radius: 2.5rem; + text-align: center; +} + +/* line 93, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-title { + font-size: 1.125rem; + font-weight: 600; + line-height: 1.78; + margin-bottom: 1rem; +} + +/* line 99, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-title a.item-link { + display: block; + color: #fff; +} + +/* line 103, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-title a.item-link .item-link-text { + display: inline-block; + margin-left: 0.25rem; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + transition: transform 0.3s; +} + +/* line 109, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 110, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-title a.item-link:hover .item-link-text { + -webkit-transform: translate3d(15px, 0, 0); + -moz-transform: translate3d(15px, 0, 0); + -ms-transform: translate3d(15px, 0, 0); + -o-transform: translate3d(15px, 0, 0); + transform: translate3d(15px, 0, 0); +} + +/* line 118, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 119, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-tags .tag { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + padding: 0.35rem 0; + color: rgba(255, 255, 255, 0.6); + text-transform: uppercase; + font-size: 0.8125rem; + font-weight: 600; + line-height: 1.15; +} + +/* line 129, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-tags .tag .fa { + margin-right: 0.15rem; + font-size: 1rem; + vertical-align: text-top; +} + +/* line 135, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +/* line 136, templates/g5_helium/scss/helium/particles/_contentcubes.scss */ + +.g-contentcubes .cube-items-wrapper .cube-content-wrapper .item-tags .tag a:hover { + color: inherit; +} + +/* line 1, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs { + position: relative; +} + +/* line 4, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav { + margin: 0; + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; +} + +@media only all and (max-width: 47.938rem) { + .ui-tabs .ui-tabs-nav { + flex-direction: column; + } +} + +/* line 11, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + border-bottom-width: 0; + padding: 0; + outline: none; +} + +/* line 18, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +/* line 19, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: text; +} + +/* line 24, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor { + cursor: text; +} + +/* line 28, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} + +/* line 33, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + text-decoration: none; +} + +/* line 36, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs .ui-tabs-nav .ui-tabs-anchor:hover { + color: inherit; +} + +/* line 43, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} + +/* line 47, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +/* line 48, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-tab-wrapper-container { + list-style: none; + margin: 0 0 1rem 0; + border-bottom: 1px solid #e0e0e5; +} + +@media only all and (max-width: 47.938rem) { + .g-contenttabs .g-contenttabs-tab-wrapper-container { + border: 0 none; + } +} + +/* line 57, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-tab { + outline: none; +} + +/* line 61, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-tab-wrapper-head { + display: block; + height: 100%; + margin-bottom: -1px; + margin-right: 3px; + padding: 0.938rem 1.876rem; + border-radius: 0.25rem 0.25rem 0 0; + background: rgba(0, 125, 195, 0.15); +} + +@media only all and (max-width: 47.938rem) { + .g-contenttabs .g-contenttabs-tab-wrapper-head { + border-radius: 0; + } +} + +/* line 74, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-tab-wrapper-head .g-contenttabs-tab-title { + display: block; + outline: none; + font-size: 0.8rem; + text-transform: uppercase; + font-weight: 700; +} + +/* line 83, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-content-wrapper-container { + list-style: none; + margin: 0; + padding: 0.938rem 0; +} + +/* line 88, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-content-wrapper-container .g-contenttabs-tab-wrapper-body { + padding: 0; +} + +/* line 91, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-content-wrapper-container .g-contenttabs-tab-wrapper-body .g-contenttabs-content { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -moz-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + box-lines: multiple; + -webkit-flex-wrap: wrap; + -moz-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +/* line 96, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +/* line 97, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.g-contenttabs .g-contenttabs-content-wrapper-container .g-contenttabs-tab-wrapper-body .g-contenttabs-content a:hover { + color: inherit; +} + +/* line 106, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +/* line 107, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs-active .g-contenttabs-tab-wrapper-head { + background: #007dc3; +} + +/* line 111, templates/g5_helium/scss/helium/particles/_contenttabs.scss */ + +.ui-tabs-active .g-contenttabs-tab-title { + color: #fff; +} + +/* + * Owl Carousel - Animate Plugin + */ + +/* line 9, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .animated { + -webkit-animation-duration: 1000ms; + animation-duration: 1000ms; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +/* line 16, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-animated-in { + z-index: 0; +} + +/* line 20, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-animated-out { + z-index: 1; +} + +/* line 24, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOut { + /* line 30, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + 0% { + opacity: 1; + } + /* line 34, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + /* line 40, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + 0% { + opacity: 1; + } + /* line 44, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + 100% { + opacity: 0; + } +} + +/* + * Owl Carousel - Auto Height Plugin + */ + +/* line 53, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-height { + -webkit-transition: height 500ms ease-in-out; + -moz-transition: height 500ms ease-in-out; + -ms-transition: height 500ms ease-in-out; + -o-transition: height 500ms ease-in-out; + transition: height 500ms ease-in-out; +} + +/* + * Core Owl Carousel CSS File + */ + +/* line 65, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel { + display: none; + width: 100%; + -webkit-tap-highlight-color: transparent; + /* position relative and z-index fix webkit rendering fonts issue */ + position: relative; + z-index: 1; +} + +/* line 74, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-stage { + position: relative; + -ms-touch-action: pan-Y; +} + +/* line 79, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-stage:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +/* line 88, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-stage-outer { + position: relative; + overflow: hidden; + /* fix for flashing background */ + -webkit-transform: translate3d(0px, 0px, 0px); +} + +/* line 95, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-nav .owl-prev, +.owl-carousel .owl-nav .owl-next, +.owl-carousel .owl-dot { + cursor: pointer; + cursor: hand; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 107, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-loaded { + display: block; +} + +/* line 111, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-loading { + opacity: 0; + display: block; +} + +/* line 116, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-hidden { + opacity: 0; +} + +/* line 120, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-refresh .owl-item { + display: none; +} + +/* line 124, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-item { + position: relative; + min-height: 1px; + float: left; + width: 100%; + -webkit-backface-visibility: hidden; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* line 138, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-item img { + display: block; + width: 100%; + -webkit-transform-style: preserve-3d; +} + +/* line 144, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-text-select-on .owl-item { + -webkit-user-select: auto; + -moz-user-select: auto; + -ms-user-select: auto; + user-select: auto; +} + +/* line 151, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-grab { + cursor: move; + cursor: -webkit-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +/* line 159, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-rtl { + direction: rtl; +} + +/* line 163, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel.owl-rtl .owl-item { + float: right; +} + +/* No Js */ + +/* line 168, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.no-js .owl-carousel { + display: block; +} + +/* + * Owl Carousel - Lazy Load Plugin + */ + +/* line 176, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-item .owl-lazy { + opacity: 0; + -webkit-transition: opacity 400ms ease; + -moz-transition: opacity 400ms ease; + -ms-transition: opacity 400ms ease; + -o-transition: opacity 400ms ease; + transition: opacity 400ms ease; +} + +/* line 185, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-item img { + transform-style: preserve-3d; +} + +/* + * Owl Carousel - Video Plugin + */ + +/* line 193, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-video-wrapper { + position: relative; + height: 100%; + background: #000; +} + +/* line 199, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-video-play-icon { + position: absolute; + height: 80px; + width: 80px; + left: 50%; + top: 50%; + margin-left: -40px; + margin-top: -40px; + background: url('../../../../owl.video.play.png') no-repeat; + cursor: pointer; + z-index: 1; + -webkit-backface-visibility: hidden; + -webkit-transition: scale 100ms ease; + -moz-transition: scale 100ms ease; + -ms-transition: scale 100ms ease; + -o-transition: scale 100ms ease; + transition: scale 100ms ease; +} + +/* line 218, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-video-play-icon:hover { + -webkit-transition: scale(1.3, 1.3); + -moz-transition: scale(1.3, 1.3); + -ms-transition: scale(1.3, 1.3); + -o-transition: scale(1.3, 1.3); + transition: scale(1.3, 1.3); +} + +/* line 226, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-video-playing .owl-video-tn, +.owl-carousel .owl-video-playing .owl-video-play-icon { + display: none; +} + +/* line 231, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-video-tn { + opacity: 0; + height: 100%; + background-position: center center; + background-repeat: no-repeat; + -webkit-background-size: contain; + -moz-background-size: contain; + -o-background-size: contain; + background-size: contain; + -webkit-transition: opacity 400ms ease; + -moz-transition: opacity 400ms ease; + -ms-transition: opacity 400ms ease; + -o-transition: opacity 400ms ease; + transition: opacity 400ms ease; +} + +/* line 247, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-carousel .owl-video-frame { + position: relative; + z-index: 1; +} + +/* + * Owl Carousel - Nav & Dots + */ + +/* line 256, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-nav { + opacity: 1; + -webkit-transition: opacity 0.25s; + -moz-transition: opacity 0.25s; + transition: opacity 0.25s; +} + +/* line 260, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-nav div { + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 42px; + height: 42px; + display: inline-block; + opacity: 1; + color: #fff; + border: 1px solid #fff; + border-radius: 50%; + padding: 0.9rem 0; + text-transform: uppercase; + text-align: center; + font-size: 0.8rem; + line-height: 0.8rem; + font-weight: 700; + -webkit-transition: all 0.25s; + -moz-transition: all 0.25s; + transition: all 0.25s; +} + +/* line 282, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-nav div:hover { + background: rgba(255, 255, 255, 0.2); + border-color: transparent; +} + +@media only all and (max-width: 47.938rem) { + .owl-nav div { + font-size: 0.7rem; + } +} + +/* line 291, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-nav div.owl-prev { + left: 3rem; + right: auto; +} + +@media only all and (max-width: 47.938rem) { + .owl-nav div.owl-prev { + left: 2rem; + } +} + +/* line 300, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-nav div.owl-next { + right: 3rem; + left: auto; +} + +@media only all and (max-width: 47.938rem) { + .owl-nav div.owl-next { + right: 2rem; + } +} + +/* line 310, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-nav.disabled { + display: none; +} + +/* line 315, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-dots { + position: absolute; + bottom: 12%; + width: 100%; + text-align: center; +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .owl-dots { + bottom: 5%; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .owl-dots { + bottom: 1rem; + } +} + +@media only all and (max-width: 47.938rem) { + .owl-dots { + bottom: 0.5rem; + } +} + +/* line 333, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-dots .owl-dot { + display: inline-block; + background: #3a444a; + margin: 0 0.3125rem; + width: 15px; + height: 15px; + border-radius: 15px; + opacity: 0.75; + -webkit-transition: opacity 0.2s; + -moz-transition: opacity 0.2s; + transition: opacity 0.2s; +} + +/* line 343, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-dots .owl-dot.active { + opacity: 1; + background: #fff; +} + +/* line 349, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owl-dots.disabled { + display: none; +} + +/* line 354, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.owlcarousel-offset { + margin-right: -45px !important; + margin-bottom: -45px !important; + margin-left: -45px !important; + position: relative; + z-index: 2; +} + +@media only all and (max-width: 47.938rem) { + .owlcarousel-offset { + margin-right: 0 !important; + margin-left: 0 !important; + } +} + +/* line 372, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel { + color: #eceeef; +} + +/* line 375, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +/* line 376, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +/* line 377, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel.has-color-overlay .owl-stage>.owl-item:nth-child(even) .g-owlcarousel-item-img:after { + background-color: #007dc3; + background-color: #007dc3; + background-image: -webkit-linear-gradient(-310deg, #007dc3, #349b2e); + background-image: linear-gradient(40deg, #007dc3, #349b2e); + opacity: 0.9; +} + +/* line 384, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +/* line 385, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel.has-color-overlay .owl-stage>.owl-item:nth-child(odd) .g-owlcarousel-item-img:after { + background-color: #349b2e; + background-color: #349b2e; + background-image: -webkit-linear-gradient(-410deg, #349b2e, #007dc3); + background-image: linear-gradient(140deg, #349b2e, #007dc3); + opacity: 0.9; +} + +/* line 393, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +/* line 394, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel:hover .owl-nav { + opacity: 1; +} + +/* line 400, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-wrapper { + position: relative; +} + +/* line 404, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-img { + position: relative; +} + +/* line 407, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-img:after { + position: absolute; + content: ""; + height: 100%; + left: 0; + right: 0; + bottom: 0; +} + +/* line 417, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-content-container { + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + transform-style: preserve-3d; +} + +@media only all and (min-width: 75rem) { + .g-owlcarousel-item-content-container { + width: 75rem; + } +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .g-owlcarousel-item-content-container { + width: 60rem; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-owlcarousel-item-content-container { + width: 40rem; + } +} + +@media only all and (min-width: 30.062rem) and (max-width: 47.938rem) { + .g-owlcarousel-item-content-container { + width: 30rem; + } +} + +@media only all and (max-width: 30rem) { + .g-owlcarousel-item-content-container { + width: 100%; + } +} + +/* line 451, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-content-wrapper { + display: -webkit-box; + display: -moz-box; + display: box; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + -o-align-items: center; + align-items: center; + -ms-flex-align: center; + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + -o-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + height: 100%; +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .g-owlcarousel-item-content-wrapper { + padding-top: 2.5rem; + } +} + +/* line 462, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-content { + margin: 1.25rem 0.625rem 0.625rem; + padding: 0.938rem; + text-align: center; +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-owlcarousel-item-content { + padding-top: 2.5rem; + } +} + +/* line 472, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-title { + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-size: 3.5rem; + line-height: 4rem; + font-weight: 500; + margin: 1.25rem 1.25rem 0.625rem; +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .g-owlcarousel-item-title { + font-size: 3rem; + line-height: 3.875rem; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-owlcarousel-item-title { + font-size: 2rem; + line-height: 2.875rem; + margin-top: 3.125rem; + } +} + +@media only all and (min-width: 30.062rem) and (max-width: 47.938rem) { + .g-owlcarousel-item-title { + margin-top: 0; + font-size: 2rem; + line-height: 2.875rem; + } +} + +@media only all and (max-width: 30rem) { + .g-owlcarousel-item-title { + margin-top: 0; + font-size: 1.5rem; + line-height: 2rem; + } +} + +/* line 503, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +.g-owlcarousel-item-desc { + font-size: 1.5rem; + line-height: 1.5; + font-weight: 200; + padding-bottom: 1.407rem; + margin-top: 0; + margin-bottom: 0.625rem; +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .g-owlcarousel-item-desc { + font-size: 1rem; + line-height: 1.875rem; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-owlcarousel-item-desc { + font-size: 1rem; + line-height: 1.875rem; + padding-bottom: 0; + } +} + +@media only all and (max-width: 47.938rem) { + .g-owlcarousel-item-desc { + display: none; + } +} + +/* line 527, templates/g5_helium/scss/helium/particles/_owlcarousel.scss */ + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-owlcarousel-item-button { + padding: 1rem 2.625rem; + font-size: 0.6rem; + } +} + +@media only all and (max-width: 47.938rem) { + .g-owlcarousel-item-button { + display: none; + } +} + +/* line 1, templates/g5_helium/scss/helium/particles/_horizontalmenu.scss */ + +.g-horizontalmenu { + list-style: none; + margin: 0; + padding: 0; + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 700; +} + +@media only all and (max-width: 47.938rem) { + .g-horizontalmenu { + text-align: center; + } +} + +/* line 12, templates/g5_helium/scss/helium/particles/_horizontalmenu.scss */ + +.g-horizontalmenu li { + display: inline-block; + padding: 0 1rem; +} + +/* line 16, templates/g5_helium/scss/helium/particles/_horizontalmenu.scss */ + +.g-horizontalmenu li a { + display: inline-block; + padding: 0 0 0.5rem; + margin-bottom: 0.5rem; +} + +/* line 22, templates/g5_helium/scss/helium/particles/_horizontalmenu.scss */ + +.g-horizontalmenu li:first-child { + padding-left: 0; +} + +/* line 26, templates/g5_helium/scss/helium/particles/_horizontalmenu.scss */ + +.g-horizontalmenu li:last-child { + padding-right: 0; +} + +/* line 1, templates/g5_helium/scss/helium/particles/_totop.scss */ + +.g-totop { + font-family: "Lato", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 700; + text-align: right; +} + +@media only all and (max-width: 47.938rem) { + .g-totop { + text-align: center; + } +} + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss */ + +.g-container { + width: 75rem; +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + .g-container { + width: 60rem; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .g-container { + width: 48rem; + } +} + +@media only all and (min-width: 30.062rem) and (max-width: 47.938rem) { + .g-container { + width: 30rem; + } +} + +@media only all and (max-width: 30rem) { + .g-container { + width: 100%; + } +} + +/* line 17, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss */ + +.g-container.g-flushed { + width: 100%; +} + +/* line 23, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss */ + +@media only all and (max-width: 47.938rem) { + .g-block { + -webkit-flex-grow: 0; + -moz-flex-grow: 0; + flex-grow: 0; + -ms-flex-positive: 0; + -webkit-flex-basis: 100%; + -moz-flex-basis: 100%; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; + } +} + +/* line 30, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss */ + +@media only all and (max-width: 47.938rem) { + body [class*="size-"] { + -webkit-flex-grow: 0; + -moz-flex-grow: 0; + flex-grow: 0; + -ms-flex-positive: 0; + -webkit-flex-basis: 100%; + -moz-flex-basis: 100%; + flex-basis: 100%; + -ms-flex-preferred-size: 100%; + max-width: 100%; + } +} + +@media only all and (max-width: 47.938rem) { + @supports not (flex-wrap: wrap) { + /* line 41, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss */ + .g-grid { + display: block; + -webkit-box-lines: inherit; + -moz-box-lines: inherit; + box-lines: inherit; + -webkit-flex-wrap: inherit; + -moz-flex-wrap: inherit; + -ms-flex-wrap: inherit; + flex-wrap: inherit; + } + /* line 45, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_flex.scss */ + .g-block { + display: block; + -webkit-box-flex: inherit; + -moz-box-flex: inherit; + box-flex: inherit; + -webkit-flex: inherit; + -moz-flex: inherit; + -ms-flex: inherit; + flex: inherit; + } + } +} + +/* line 2, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + +.visible-large, +.visible-desktop, +.visible-tablet, +.visible-phone, +.g-block.visible-large, +.g-block.visible-desktop, +.g-block.visible-tablet, +.g-block.visible-phone { + display: none !important; +} + +@media only all and (max-width: 47.938rem) { + /* line 14, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .visible-phone { + display: block !important; + } + /* line 17, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .g-block.visible-phone { + display: block !important; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + /* line 23, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .visible-tablet { + display: block !important; + } + /* line 26, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .g-block.visible-tablet { + display: block !important; + } +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + /* line 32, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .visible-desktop { + display: block !important; + } + /* line 35, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .g-block.visible-desktop { + display: block !important; + } +} + +@media only all and (min-width: 75rem) { + /* line 41, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .visible-large { + display: block !important; + } + /* line 44, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .g-block.visible-large { + display: block !important; + } + /* line 47, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .visible-desktop { + display: block !important; + } + /* line 50, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .g-block.visible-desktop { + display: block !important; + } +} + +@media only all and (max-width: 47.938rem) { + /* line 57, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .hidden-phone { + display: none !important; + } +} + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + /* line 63, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .hidden-tablet { + display: none !important; + } +} + +@media only all and (min-width: 60rem) and (max-width: 74.938rem) { + /* line 69, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .hidden-desktop { + display: none !important; + } +} + +@media only all and (min-width: 75rem) { + /* line 75, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .hidden-large { + display: none !important; + } + /* line 78, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .hidden-desktop { + display: none !important; + } +} + +@media only all and (max-width: 47.938rem) { + /* line 85, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .align-right { + text-align: inherit !important; + } + /* line 88, media/gantry5/engines/nucleus/scss/nucleus/theme/breakpoints/_utilities.scss */ + .align-left { + text-align: inherit !important; + } +} \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/custom/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/lato-bold/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/lato-bold/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/lato-bold/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/lato-bold/lato-bold-webfont.woff2 b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/lato-bold/lato-bold-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e2a413b7a3cdc762e38d962c80de6e65ade3a48a Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/lato/lato-bold/lato-bold-webfont.woff2 differ diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-bold/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-bold/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-bold/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-bold/raleway-bold-webfont.woff2 b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-bold/raleway-bold-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bda9dc7b2b92c52c5016c2ff8098c7a2704f223f Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-bold/raleway-bold-webfont.woff2 differ diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-regular/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-regular/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-regular/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-regular/raleway-regular-webfont.woff2 b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-regular/raleway-regular-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..34319a12e00f36892b4ea6938d00800683f7c0cf Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-regular/raleway-regular-webfont.woff2 differ diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-semibold/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-semibold/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-semibold/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-semibold/raleway-semibold-webfont.woff2 b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-semibold/raleway-semibold-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..46cec20790450e620c3e13aae6bde2ded2ceae4c Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/templates/g5_helium/fonts/raleway/raleway-semibold/raleway-semibold-webfont.woff2 differ diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/jui/desktop.ini b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/jui/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..6cfa85ba8eae7eee39abcb1f82bcf7378b71c6ee --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/jui/desktop.ini @@ -0,0 +1,5 @@ +[.ShellClassInfo] +InfoTip=Ce dossier est partagé en ligne. +IconFile=C:\Program Files\Google\Drive\googledrivesync.exe +IconIndex=16 + \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/jui/jquery.min.js b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/jui/jquery.min.js new file mode 100644 index 0000000000000000000000000000000000000000..51d142b916b619fcaf5a7b821dd91d3c86015e89 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/jui/jquery.min.js @@ -0,0 +1,3093 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ ! function(a, b) { + "object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) { + if (!a.document) throw new Error("jQuery requires a window with a document"); + return b(a) + } : b(a) +}("undefined" != typeof window ? window : this, function(a, b) { + var c = [], + d = c.slice, + e = c.concat, + f = c.push, + g = c.indexOf, + h = {}, + i = h.toString, + j = h.hasOwnProperty, + k = {}, + l = a.document, + m = "2.1.4", + n = function(a, b) { + return new n.fn.init(a, b) + }, + o = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + p = /^-ms-/, + q = /-([\da-z])/gi, + r = function(a, b) { + return b.toUpperCase() + }; + n.fn = n.prototype = { + jquery: m, + constructor: n, + selector: "", + length: 0, + toArray: function() { + return d.call(this) + }, + get: function(a) { + return null != a ? 0 > a ? this[a + this.length] : this[a] : d.call(this) + }, + pushStack: function(a) { + var b = n.merge(this.constructor(), a); + return b.prevObject = this, b.context = this.context, b + }, + each: function(a, b) { + return n.each(this, a, b) + }, + map: function(a) { + return this.pushStack(n.map(this, function(b, c) { + return a.call(b, c, b) + })) + }, + slice: function() { + return this.pushStack(d.apply(this, arguments)) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + eq: function(a) { + var b = this.length, + c = +a + (0 > a ? b : 0); + return this.pushStack(c >= 0 && b > c ? [this[c]] : []) + }, + end: function() { + return this.prevObject || this.constructor(null) + }, + push: f, + sort: c.sort, + splice: c.splice + }, n.extend = n.fn.extend = function() { + var a, b, c, d, e, f, g = arguments[0] || {}, + h = 1, + i = arguments.length, + j = !1; + for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++) + if (null != (a = arguments[h])) + for (b in a) c = g[b], d = a[b], g !== d && (j && d && (n.isPlainObject(d) || (e = n.isArray(d))) ? (e ? (e = !1, f = c && n.isArray(c) ? c : []) : f = c && n.isPlainObject(c) ? c : {}, g[b] = n.extend(j, f, d)) : void 0 !== d && (g[b] = d)); + return g + }, n.extend({ + expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function(a) { + throw new Error(a) + }, + noop: function() {}, + isFunction: function(a) { + return "function" === n.type(a) + }, + isArray: Array.isArray, + isWindow: function(a) { + return null != a && a === a.window + }, + isNumeric: function(a) { + return !n.isArray(a) && a - parseFloat(a) + 1 >= 0 + }, + isPlainObject: function(a) { + return "object" !== n.type(a) || a.nodeType || n.isWindow(a) ? !1 : a.constructor && !j.call(a.constructor.prototype, "isPrototypeOf") ? !1 : !0 + }, + isEmptyObject: function(a) { + var b; + for (b in a) return !1; + return !0 + }, + type: function(a) { + return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? h[i.call(a)] || "object" : typeof a + }, + globalEval: function(a) { + var b, c = eval; + a = n.trim(a), a && (1 === a.indexOf("use strict") ? (b = l.createElement("script"), b.text = a, l.head.appendChild(b).parentNode.removeChild(b)) : c(a)) + }, + camelCase: function(a) { + return a.replace(p, "ms-").replace(q, r) + }, + nodeName: function(a, b) { + return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase() + }, + each: function(a, b, c) { + var d, e = 0, + f = a.length, + g = s(a); + if (c) { + if (g) { + for (; f > e; e++) + if (d = b.apply(a[e], c), d === !1) break + } else + for (e in a) + if (d = b.apply(a[e], c), d === !1) break + } else if (g) { + for (; f > e; e++) + if (d = b.call(a[e], e, a[e]), d === !1) break + } else + for (e in a) + if (d = b.call(a[e], e, a[e]), d === !1) break; + return a + }, + trim: function(a) { + return null == a ? "" : (a + "").replace(o, "") + }, + makeArray: function(a, b) { + var c = b || []; + return null != a && (s(Object(a)) ? n.merge(c, "string" == typeof a ? [a] : a) : f.call(c, a)), c + }, + inArray: function(a, b, c) { + return null == b ? -1 : g.call(b, a, c) + }, + merge: function(a, b) { + for (var c = +b.length, d = 0, e = a.length; c > d; d++) a[e++] = b[d]; + return a.length = e, a + }, + grep: function(a, b, c) { + for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]); + return e + }, + map: function(a, b, c) { + var d, f = 0, + g = a.length, + h = s(a), + i = []; + if (h) + for (; g > f; f++) d = b(a[f], f, c), null != d && i.push(d); + else + for (f in a) d = b(a[f], f, c), null != d && i.push(d); + return e.apply([], i) + }, + guid: 1, + proxy: function(a, b) { + var c, e, f; + return "string" == typeof b && (c = a[b], b = a, a = c), n.isFunction(a) ? (e = d.call(arguments, 2), f = function() { + return a.apply(b || this, e.concat(d.call(arguments))) + }, f.guid = a.guid = a.guid || n.guid++, f) : void 0 + }, + now: Date.now, + support: k + }), n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(a, b) { + h["[object " + b + "]"] = b.toLowerCase() + }); + + function s(a) { + var b = "length" in a && a.length, + c = n.type(a); + return "function" === c || n.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a + } + var t = function(a) { + var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date, + v = a.document, + w = 0, + x = 0, + y = ha(), + z = ha(), + A = ha(), + B = function(a, b) { + return a === b && (l = !0), 0 + }, + C = 1 << 31, + D = {}.hasOwnProperty, + E = [], + F = E.pop, + G = E.push, + H = E.push, + I = E.slice, + J = function(a, b) { + for (var c = 0, d = a.length; d > c; c++) + if (a[c] === b) return c; + return -1 + }, + K = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + L = "[\\x20\\t\\r\\n\\f]", + M = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + N = M.replace("w", "w#"), + O = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + N + "))|)" + L + "*\\]", + P = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + O + ")*)|.*)\\)|)", + Q = new RegExp(L + "+", "g"), + R = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"), + S = new RegExp("^" + L + "*," + L + "*"), + T = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"), + U = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"), + V = new RegExp(P), + W = new RegExp("^" + N + "$"), + X = { + ID: new RegExp("^#(" + M + ")"), + CLASS: new RegExp("^\\.(" + M + ")"), + TAG: new RegExp("^(" + M.replace("w", "w*") + ")"), + ATTR: new RegExp("^" + O), + PSEUDO: new RegExp("^" + P), + CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"), + bool: new RegExp("^(?:" + K + ")$", "i"), + needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i") + }, + Y = /^(?:input|select|textarea|button)$/i, + Z = /^h\d$/i, + $ = /^[^{]+\{\s*\[native \w/, + _ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + aa = /[+~]/, + ba = /'|\\/g, + ca = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"), + da = function(a, b, c) { + var d = "0x" + b - 65536; + return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320) + }, + ea = function() { + m() + }; + try { + H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType + } catch (fa) { + H = { + apply: E.length ? function(a, b) { + G.apply(a, I.call(b)) + } : function(a, b) { + var c = a.length, + d = 0; + while (a[c++] = b[d++]); + a.length = c - 1 + } + } + } + + function ga(a, b, d, e) { + var f, h, j, k, l, o, r, s, w, x; + if ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, d = d || [], k = b.nodeType, "string" != typeof a || !a || 1 !== k && 9 !== k && 11 !== k) return d; + if (!e && p) { + if (11 !== k && (f = _.exec(a))) + if (j = f[1]) { + if (9 === k) { + if (h = b.getElementById(j), !h || !h.parentNode) return d; + if (h.id === j) return d.push(h), d + } else if (b.ownerDocument && (h = b.ownerDocument.getElementById(j)) && t(b, h) && h.id === j) return d.push(h), d + } else { + if (f[2]) return H.apply(d, b.getElementsByTagName(a)), d; + if ((j = f[3]) && c.getElementsByClassName) return H.apply(d, b.getElementsByClassName(j)), d + } + if (c.qsa && (!q || !q.test(a))) { + if (s = r = u, w = b, x = 1 !== k && a, 1 === k && "object" !== b.nodeName.toLowerCase()) { + o = g(a), (r = b.getAttribute("id")) ? s = r.replace(ba, "\\$&") : b.setAttribute("id", s), s = "[id='" + s + "'] ", l = o.length; + while (l--) o[l] = s + ra(o[l]); + w = aa.test(a) && pa(b.parentNode) || b, x = o.join(",") + } + if (x) try { + return H.apply(d, w.querySelectorAll(x)), d + } catch (y) {} finally { + r || b.removeAttribute("id") + } + } + } + return i(a.replace(R, "$1"), b, d, e) + } + + function ha() { + var a = []; + + function b(c, e) { + return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e + } + return b + } + + function ia(a) { + return a[u] = !0, a + } + + function ja(a) { + var b = n.createElement("div"); + try { + return !!a(b) + } catch (c) { + return !1 + } finally { + b.parentNode && b.parentNode.removeChild(b), b = null + } + } + + function ka(a, b) { + var c = a.split("|"), + e = a.length; + while (e--) d.attrHandle[c[e]] = b + } + + function la(a, b) { + var c = b && a, + d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C); + if (d) return d; + if (c) + while (c = c.nextSibling) + if (c === b) return -1; + return a ? 1 : -1 + } + + function ma(a) { + return function(b) { + var c = b.nodeName.toLowerCase(); + return "input" === c && b.type === a + } + } + + function na(a) { + return function(b) { + var c = b.nodeName.toLowerCase(); + return ("input" === c || "button" === c) && b.type === a + } + } + + function oa(a) { + return ia(function(b) { + return b = +b, ia(function(c, d) { + var e, f = a([], c.length, b), + g = f.length; + while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e])) + }) + }) + } + + function pa(a) { + return a && "undefined" != typeof a.getElementsByTagName && a + } + c = ga.support = {}, f = ga.isXML = function(a) { + var b = a && (a.ownerDocument || a).documentElement; + return b ? "HTML" !== b.nodeName : !1 + }, m = ga.setDocument = function(a) { + var b, e, g = a ? a.ownerDocument || a : v; + return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = g.documentElement, e = g.defaultView, e && e !== e.top && (e.addEventListener ? e.addEventListener("unload", ea, !1) : e.attachEvent && e.attachEvent("onunload", ea)), p = !f(g), c.attributes = ja(function(a) { + return a.className = "i", !a.getAttribute("className") + }), c.getElementsByTagName = ja(function(a) { + return a.appendChild(g.createComment("")), !a.getElementsByTagName("*").length + }), c.getElementsByClassName = $.test(g.getElementsByClassName), c.getById = ja(function(a) { + return o.appendChild(a).id = u, !g.getElementsByName || !g.getElementsByName(u).length + }), c.getById ? (d.find.ID = function(a, b) { + if ("undefined" != typeof b.getElementById && p) { + var c = b.getElementById(a); + return c && c.parentNode ? [c] : [] + } + }, d.filter.ID = function(a) { + var b = a.replace(ca, da); + return function(a) { + return a.getAttribute("id") === b + } + }) : (delete d.find.ID, d.filter.ID = function(a) { + var b = a.replace(ca, da); + return function(a) { + var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id"); + return c && c.value === b + } + }), d.find.TAG = c.getElementsByTagName ? function(a, b) { + return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0 + } : function(a, b) { + var c, d = [], + e = 0, + f = b.getElementsByTagName(a); + if ("*" === a) { + while (c = f[e++]) 1 === c.nodeType && d.push(c); + return d + } + return f + }, d.find.CLASS = c.getElementsByClassName && function(a, b) { + return p ? b.getElementsByClassName(a) : void 0 + }, r = [], q = [], (c.qsa = $.test(g.querySelectorAll)) && (ja(function(a) { + o.appendChild(a).innerHTML = "<a id='" + u + "'></a><select id='" + u + "-\f]' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]") + }), ja(function(a) { + var b = g.createElement("input"); + b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + L + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:") + })), (c.matchesSelector = $.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ja(function(a) { + c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", P) + }), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = $.test(o.compareDocumentPosition), t = b || $.test(o.contains) ? function(a, b) { + var c = 9 === a.nodeType ? a.documentElement : a, + d = b && b.parentNode; + return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d))) + } : function(a, b) { + if (b) + while (b = b.parentNode) + if (b === a) return !0; + return !1 + }, B = b ? function(a, b) { + if (a === b) return l = !0, 0; + var d = !a.compareDocumentPosition - !b.compareDocumentPosition; + return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === g || a.ownerDocument === v && t(v, a) ? -1 : b === g || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1) + } : function(a, b) { + if (a === b) return l = !0, 0; + var c, d = 0, + e = a.parentNode, + f = b.parentNode, + h = [a], + i = [b]; + if (!e || !f) return a === g ? -1 : b === g ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0; + if (e === f) return la(a, b); + c = a; + while (c = c.parentNode) h.unshift(c); + c = b; + while (c = c.parentNode) i.unshift(c); + while (h[d] === i[d]) d++; + return d ? la(h[d], i[d]) : h[d] === v ? -1 : i[d] === v ? 1 : 0 + }, g) : n + }, ga.matches = function(a, b) { + return ga(a, null, null, b) + }, ga.matchesSelector = function(a, b) { + if ((a.ownerDocument || a) !== n && m(a), b = b.replace(U, "='$1']"), !(!c.matchesSelector || !p || r && r.test(b) || q && q.test(b))) try { + var d = s.call(a, b); + if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d + } catch (e) {} + return ga(b, n, null, [a]).length > 0 + }, ga.contains = function(a, b) { + return (a.ownerDocument || a) !== n && m(a), t(a, b) + }, ga.attr = function(a, b) { + (a.ownerDocument || a) !== n && m(a); + var e = d.attrHandle[b.toLowerCase()], + f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0; + return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null + }, ga.error = function(a) { + throw new Error("Syntax error, unrecognized expression: " + a) + }, ga.uniqueSort = function(a) { + var b, d = [], + e = 0, + f = 0; + if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) { + while (b = a[f++]) b === a[f] && (e = d.push(f)); + while (e--) a.splice(d[e], 1) + } + return k = null, a + }, e = ga.getText = function(a) { + var b, c = "", + d = 0, + f = a.nodeType; + if (f) { + if (1 === f || 9 === f || 11 === f) { + if ("string" == typeof a.textContent) return a.textContent; + for (a = a.firstChild; a; a = a.nextSibling) c += e(a) + } else if (3 === f || 4 === f) return a.nodeValue + } else + while (b = a[d++]) c += e(b); + return c + }, d = ga.selectors = { + cacheLength: 50, + createPseudo: ia, + match: X, + attrHandle: {}, + find: {}, + relative: { + ">": { + dir: "parentNode", + first: !0 + }, + " ": { + dir: "parentNode" + }, + "+": { + dir: "previousSibling", + first: !0 + }, + "~": { + dir: "previousSibling" + } + }, + preFilter: { + ATTR: function(a) { + return a[1] = a[1].replace(ca, da), a[3] = (a[3] || a[4] || a[5] || "").replace(ca, da), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4) + }, + CHILD: function(a) { + return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || ga.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && ga.error(a[0]), a + }, + PSEUDO: function(a) { + var b, c = !a[6] && a[2]; + return X.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && V.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3)) + } + }, + filter: { + TAG: function(a) { + var b = a.replace(ca, da).toLowerCase(); + return "*" === a ? function() { + return !0 + } : function(a) { + return a.nodeName && a.nodeName.toLowerCase() === b + } + }, + CLASS: function(a) { + var b = y[a + " "]; + return b || (b = new RegExp("(^|" + L + ")" + a + "(" + L + "|$)")) && y(a, function(a) { + return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "") + }) + }, + ATTR: function(a, b, c) { + return function(d) { + var e = ga.attr(d, a); + return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(Q, " ") + " ").indexOf(c) > -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0 + } + }, + CHILD: function(a, b, c, d, e) { + var f = "nth" !== a.slice(0, 3), + g = "last" !== a.slice(-4), + h = "of-type" === b; + return 1 === d && 0 === e ? function(a) { + return !!a.parentNode + } : function(b, c, i) { + var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling", + q = b.parentNode, + r = h && b.nodeName.toLowerCase(), + s = !i && !h; + if (q) { + if (f) { + while (p) { + l = b; + while (l = l[p]) + if (h ? l.nodeName.toLowerCase() === r : 1 === l.nodeType) return !1; + o = p = "only" === a && !o && "nextSibling" + } + return !0 + } + if (o = [g ? q.firstChild : q.lastChild], g && s) { + k = q[u] || (q[u] = {}), j = k[a] || [], n = j[0] === w && j[1], m = j[0] === w && j[2], l = n && q.childNodes[n]; + while (l = ++n && l && l[p] || (m = n = 0) || o.pop()) + if (1 === l.nodeType && ++m && l === b) { + k[a] = [w, n, m]; + break + } + } else if (s && (j = (b[u] || (b[u] = {}))[a]) && j[0] === w) m = j[1]; + else + while (l = ++n && l && l[p] || (m = n = 0) || o.pop()) + if ((h ? l.nodeName.toLowerCase() === r : 1 === l.nodeType) && ++m && (s && ((l[u] || (l[u] = {}))[a] = [w, m]), l === b)) break; + return m -= e, m === d || m % d === 0 && m / d >= 0 + } + } + }, + PSEUDO: function(a, b) { + var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || ga.error("unsupported pseudo: " + a); + return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ia(function(a, c) { + var d, f = e(a, b), + g = f.length; + while (g--) d = J(a, f[g]), a[d] = !(c[d] = f[g]) + }) : function(a) { + return e(a, 0, c) + }) : e + } + }, + pseudos: { + not: ia(function(a) { + var b = [], + c = [], + d = h(a.replace(R, "$1")); + return d[u] ? ia(function(a, b, c, e) { + var f, g = d(a, null, e, []), + h = a.length; + while (h--)(f = g[h]) && (a[h] = !(b[h] = f)) + }) : function(a, e, f) { + return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop() + } + }), + has: ia(function(a) { + return function(b) { + return ga(a, b).length > 0 + } + }), + contains: ia(function(a) { + return a = a.replace(ca, da), + function(b) { + return (b.textContent || b.innerText || e(b)).indexOf(a) > -1 + } + }), + lang: ia(function(a) { + return W.test(a || "") || ga.error("unsupported lang: " + a), a = a.replace(ca, da).toLowerCase(), + function(b) { + var c; + do + if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) && 1 === b.nodeType); + return !1 + } + }), + target: function(b) { + var c = a.location && a.location.hash; + return c && c.slice(1) === b.id + }, + root: function(a) { + return a === o + }, + focus: function(a) { + return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex) + }, + enabled: function(a) { + return a.disabled === !1 + }, + disabled: function(a) { + return a.disabled === !0 + }, + checked: function(a) { + var b = a.nodeName.toLowerCase(); + return "input" === b && !!a.checked || "option" === b && !!a.selected + }, + selected: function(a) { + return a.parentNode && a.parentNode.selectedIndex, a.selected === !0 + }, + empty: function(a) { + for (a = a.firstChild; a; a = a.nextSibling) + if (a.nodeType < 6) return !1; + return !0 + }, + parent: function(a) { + return !d.pseudos.empty(a) + }, + header: function(a) { + return Z.test(a.nodeName) + }, + input: function(a) { + return Y.test(a.nodeName) + }, + button: function(a) { + var b = a.nodeName.toLowerCase(); + return "input" === b && "button" === a.type || "button" === b + }, + text: function(a) { + var b; + return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase()) + }, + first: oa(function() { + return [0] + }), + last: oa(function(a, b) { + return [b - 1] + }), + eq: oa(function(a, b, c) { + return [0 > c ? c + b : c] + }), + even: oa(function(a, b) { + for (var c = 0; b > c; c += 2) a.push(c); + return a + }), + odd: oa(function(a, b) { + for (var c = 1; b > c; c += 2) a.push(c); + return a + }), + lt: oa(function(a, b, c) { + for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d); + return a + }), + gt: oa(function(a, b, c) { + for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d); + return a + }) + } + }, d.pseudos.nth = d.pseudos.eq; + for (b in { + radio: !0, + checkbox: !0, + file: !0, + password: !0, + image: !0 + }) d.pseudos[b] = ma(b); + for (b in { + submit: !0, + reset: !0 + }) d.pseudos[b] = na(b); + + function qa() {} + qa.prototype = d.filters = d.pseudos, d.setFilters = new qa, g = ga.tokenize = function(a, b) { + var c, e, f, g, h, i, j, k = z[a + " "]; + if (k) return b ? 0 : k.slice(0); + h = a, i = [], j = d.preFilter; + while (h) { + (!c || (e = S.exec(h))) && (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = T.exec(h)) && (c = e.shift(), f.push({ + value: c, + type: e[0].replace(R, " ") + }), h = h.slice(c.length)); + for (g in d.filter) !(e = X[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({ + value: c, + type: g, + matches: e + }), h = h.slice(c.length)); + if (!c) break + } + return b ? h.length : h ? ga.error(a) : z(a, i).slice(0) + }; + + function ra(a) { + for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value; + return d + } + + function sa(a, b, c) { + var d = b.dir, + e = c && "parentNode" === d, + f = x++; + return b.first ? function(b, c, f) { + while (b = b[d]) + if (1 === b.nodeType || e) return a(b, c, f) + } : function(b, c, g) { + var h, i, j = [w, f]; + if (g) { + while (b = b[d]) + if ((1 === b.nodeType || e) && a(b, c, g)) return !0 + } else + while (b = b[d]) + if (1 === b.nodeType || e) { + if (i = b[u] || (b[u] = {}), (h = i[d]) && h[0] === w && h[1] === f) return j[2] = h[2]; + if (i[d] = j, j[2] = a(b, c, g)) return !0 + } + } + } + + function ta(a) { + return a.length > 1 ? function(b, c, d) { + var e = a.length; + while (e--) + if (!a[e](b, c, d)) return !1; + return !0 + } : a[0] + } + + function ua(a, b, c) { + for (var d = 0, e = b.length; e > d; d++) ga(a, b[d], c); + return c + } + + function va(a, b, c, d, e) { + for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (!c || c(f, d, e)) && (g.push(f), j && b.push(h)); + return g + } + + function wa(a, b, c, d, e, f) { + return d && !d[u] && (d = wa(d)), e && !e[u] && (e = wa(e, f)), ia(function(f, g, h, i) { + var j, k, l, m = [], + n = [], + o = g.length, + p = f || ua(b || "*", h.nodeType ? [h] : h, []), + q = !a || !f && b ? p : va(p, m, a, h, i), + r = c ? e || (f ? a : o || d) ? [] : g : q; + if (c && c(q, r, h, i), d) { + j = va(r, n), d(j, [], h, i), k = j.length; + while (k--)(l = j[k]) && (r[n[k]] = !(q[n[k]] = l)) + } + if (f) { + if (e || a) { + if (e) { + j = [], k = r.length; + while (k--)(l = r[k]) && j.push(q[k] = l); + e(null, r = [], j, i) + } + k = r.length; + while (k--)(l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l)) + } + } else r = va(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r) + }) + } + + function xa(a) { + for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = sa(function(a) { + return a === b + }, h, !0), l = sa(function(a) { + return J(b, a) > -1 + }, h, !0), m = [function(a, c, d) { + var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d)); + return b = null, e + }]; f > i; i++) + if (c = d.relative[a[i].type]) m = [sa(ta(m), c)]; + else { + if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) { + for (e = ++i; f > e; e++) + if (d.relative[a[e].type]) break; + return wa(i > 1 && ta(m), i > 1 && ra(a.slice(0, i - 1).concat({ + value: " " === a[i - 2].type ? "*" : "" + })).replace(R, "$1"), c, e > i && xa(a.slice(i, e)), f > e && xa(a = a.slice(e)), f > e && ra(a)) + } + m.push(c) + } + return ta(m) + } + + function ya(a, b) { + var c = b.length > 0, + e = a.length > 0, + f = function(f, g, h, i, k) { + var l, m, o, p = 0, + q = "0", + r = f && [], + s = [], + t = j, + u = f || e && d.find.TAG("*", k), + v = w += null == t ? 1 : Math.random() || .1, + x = u.length; + for (k && (j = g !== n && g); q !== x && null != (l = u[q]); q++) { + if (e && l) { + m = 0; + while (o = a[m++]) + if (o(l, g, h)) { + i.push(l); + break + } + k && (w = v) + } + c && ((l = !o && l) && p--, f && r.push(l)) + } + if (p += q, c && q !== p) { + m = 0; + while (o = b[m++]) o(r, s, g, h); + if (f) { + if (p > 0) + while (q--) r[q] || s[q] || (s[q] = F.call(i)); + s = va(s) + } + H.apply(i, s), k && !f && s.length > 0 && p + b.length > 1 && ga.uniqueSort(i) + } + return k && (w = v, j = t), r + }; + return c ? ia(f) : f + } + return h = ga.compile = function(a, b) { + var c, d = [], + e = [], + f = A[a + " "]; + if (!f) { + b || (b = g(a)), c = b.length; + while (c--) f = xa(b[c]), f[u] ? d.push(f) : e.push(f); + f = A(a, ya(e, d)), f.selector = a + } + return f + }, i = ga.select = function(a, b, e, f) { + var i, j, k, l, m, n = "function" == typeof a && a, + o = !f && g(a = n.selector || a); + if (e = e || [], 1 === o.length) { + if (j = o[0] = o[0].slice(0), j.length > 2 && "ID" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) { + if (b = (d.find.ID(k.matches[0].replace(ca, da), b) || [])[0], !b) return e; + n && (b = b.parentNode), a = a.slice(j.shift().value.length) + } + i = X.needsContext.test(a) ? 0 : j.length; + while (i--) { + if (k = j[i], d.relative[l = k.type]) break; + if ((m = d.find[l]) && (f = m(k.matches[0].replace(ca, da), aa.test(j[0].type) && pa(b.parentNode) || b))) { + if (j.splice(i, 1), a = f.length && ra(j), !a) return H.apply(e, f), e; + break + } + } + } + return (n || h(a, o))(f, b, !p, e, aa.test(a) && pa(b.parentNode) || b), e + }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ja(function(a) { + return 1 & a.compareDocumentPosition(n.createElement("div")) + }), ja(function(a) { + return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href") + }) || ka("type|href|height|width", function(a, b, c) { + return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2) + }), c.attributes && ja(function(a) { + return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value") + }) || ka("value", function(a, b, c) { + return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue + }), ja(function(a) { + return null == a.getAttribute("disabled") + }) || ka(K, function(a, b, c) { + var d; + return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null + }), ga + }(a); + n.find = t, n.expr = t.selectors, n.expr[":"] = n.expr.pseudos, n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains; + var u = n.expr.match.needsContext, + v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + w = /^.[^:#\[\.,]*$/; + + function x(a, b, c) { + if (n.isFunction(b)) return n.grep(a, function(a, d) { + return !!b.call(a, d, a) !== c + }); + if (b.nodeType) return n.grep(a, function(a) { + return a === b !== c + }); + if ("string" == typeof b) { + if (w.test(b)) return n.filter(b, a, c); + b = n.filter(b, a) + } + return n.grep(a, function(a) { + return g.call(b, a) >= 0 !== c + }) + } + n.filter = function(a, b, c) { + var d = b[0]; + return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function(a) { + return 1 === a.nodeType + })) + }, n.fn.extend({ + find: function(a) { + var b, c = this.length, + d = [], + e = this; + if ("string" != typeof a) return this.pushStack(n(a).filter(function() { + for (b = 0; c > b; b++) + if (n.contains(e[b], this)) return !0 + })); + for (b = 0; c > b; b++) n.find(a, e[b], d); + return d = this.pushStack(c > 1 ? n.unique(d) : d), d.selector = this.selector ? this.selector + " " + a : a, d + }, + filter: function(a) { + return this.pushStack(x(this, a || [], !1)) + }, + not: function(a) { + return this.pushStack(x(this, a || [], !0)) + }, + is: function(a) { + return !!x(this, "string" == typeof a && u.test(a) ? n(a) : a || [], !1).length + } + }); + var y, z = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + A = n.fn.init = function(a, b) { + var c, d; + if (!a) return this; + if ("string" == typeof a) { + if (c = "<" === a[0] && ">" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : z.exec(a), !c || !c[1] && b) return !b || b.jquery ? (b || y).find(a) : this.constructor(b).find(a); + if (c[1]) { + if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(c[1], b && b.nodeType ? b.ownerDocument || b : l, !0)), v.test(c[1]) && n.isPlainObject(b)) + for (c in b) n.isFunction(this[c]) ? this[c](b[c]) : this.attr(c, b[c]); + return this + } + return d = l.getElementById(c[2]), d && d.parentNode && (this.length = 1, this[0] = d), this.context = l, this.selector = a, this + } + return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? "undefined" != typeof y.ready ? y.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this)) + }; + A.prototype = n.fn, y = n(l); + var B = /^(?:parents|prev(?:Until|All))/, + C = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + n.extend({ + dir: function(a, b, c) { + var d = [], + e = void 0 !== c; + while ((a = a[b]) && 9 !== a.nodeType) + if (1 === a.nodeType) { + if (e && n(a).is(c)) break; + d.push(a) + } + return d + }, + sibling: function(a, b) { + for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a); + return c + } + }), n.fn.extend({ + has: function(a) { + var b = n(a, this), + c = b.length; + return this.filter(function() { + for (var a = 0; c > a; a++) + if (n.contains(this, b[a])) return !0 + }) + }, + closest: function(a, b) { + for (var c, d = 0, e = this.length, f = [], g = u.test(a) || "string" != typeof a ? n(a, b || this.context) : 0; e > d; d++) + for (c = this[d]; c && c !== b; c = c.parentNode) + if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) { + f.push(c); + break + } + return this.pushStack(f.length > 1 ? n.unique(f) : f) + }, + index: function(a) { + return a ? "string" == typeof a ? g.call(n(a), this[0]) : g.call(this, a.jquery ? a[0] : a) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 + }, + add: function(a, b) { + return this.pushStack(n.unique(n.merge(this.get(), n(a, b)))) + }, + addBack: function(a) { + return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) + } + }); + + function D(a, b) { + while ((a = a[b]) && 1 !== a.nodeType); + return a + } + n.each({ + parent: function(a) { + var b = a.parentNode; + return b && 11 !== b.nodeType ? b : null + }, + parents: function(a) { + return n.dir(a, "parentNode") + }, + parentsUntil: function(a, b, c) { + return n.dir(a, "parentNode", c) + }, + next: function(a) { + return D(a, "nextSibling") + }, + prev: function(a) { + return D(a, "previousSibling") + }, + nextAll: function(a) { + return n.dir(a, "nextSibling") + }, + prevAll: function(a) { + return n.dir(a, "previousSibling") + }, + nextUntil: function(a, b, c) { + return n.dir(a, "nextSibling", c) + }, + prevUntil: function(a, b, c) { + return n.dir(a, "previousSibling", c) + }, + siblings: function(a) { + return n.sibling((a.parentNode || {}).firstChild, a) + }, + children: function(a) { + return n.sibling(a.firstChild) + }, + contents: function(a) { + return a.contentDocument || n.merge([], a.childNodes) + } + }, function(a, b) { + n.fn[a] = function(c, d) { + var e = n.map(this, b, c); + return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = n.filter(d, e)), this.length > 1 && (C[a] || n.unique(e), B.test(a) && e.reverse()), this.pushStack(e) + } + }); + var E = /\S+/g, + F = {}; + + function G(a) { + var b = F[a] = {}; + return n.each(a.match(E) || [], function(a, c) { + b[c] = !0 + }), b + } + n.Callbacks = function(a) { + a = "string" == typeof a ? F[a] || G(a) : n.extend({}, a); + var b, c, d, e, f, g, h = [], + i = !a.once && [], + j = function(l) { + for (b = a.memory && l, c = !0, g = e || 0, e = 0, f = h.length, d = !0; h && f > g; g++) + if (h[g].apply(l[0], l[1]) === !1 && a.stopOnFalse) { + b = !1; + break + } + d = !1, h && (i ? i.length && j(i.shift()) : b ? h = [] : k.disable()) + }, + k = { + add: function() { + if (h) { + var c = h.length; + ! function g(b) { + n.each(b, function(b, c) { + var d = n.type(c); + "function" === d ? a.unique && k.has(c) || h.push(c) : c && c.length && "string" !== d && g(c) + }) + }(arguments), d ? f = h.length : b && (e = c, j(b)) + } + return this + }, + remove: function() { + return h && n.each(arguments, function(a, b) { + var c; + while ((c = n.inArray(b, h, c)) > -1) h.splice(c, 1), d && (f >= c && f--, g >= c && g--) + }), this + }, + has: function(a) { + return a ? n.inArray(a, h) > -1 : !(!h || !h.length) + }, + empty: function() { + return h = [], f = 0, this + }, + disable: function() { + return h = i = b = void 0, this + }, + disabled: function() { + return !h + }, + lock: function() { + return i = void 0, b || k.disable(), this + }, + locked: function() { + return !i + }, + fireWith: function(a, b) { + return !h || c && !i || (b = b || [], b = [a, b.slice ? b.slice() : b], d ? i.push(b) : j(b)), this + }, + fire: function() { + return k.fireWith(this, arguments), this + }, + fired: function() { + return !!c + } + }; + return k + }, n.extend({ + Deferred: function(a) { + var b = [ + ["resolve", "done", n.Callbacks("once memory"), "resolved"], + ["reject", "fail", n.Callbacks("once memory"), "rejected"], + ["notify", "progress", n.Callbacks("memory")] + ], + c = "pending", + d = { + state: function() { + return c + }, + always: function() { + return e.done(arguments).fail(arguments), this + }, + then: function() { + var a = arguments; + return n.Deferred(function(c) { + n.each(b, function(b, f) { + var g = n.isFunction(a[b]) && a[b]; + e[f[1]](function() { + var a = g && g.apply(this, arguments); + a && n.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments) + }) + }), a = null + }).promise() + }, + promise: function(a) { + return null != a ? n.extend(a, d) : d + } + }, + e = {}; + return d.pipe = d.then, n.each(b, function(a, f) { + var g = f[2], + h = f[3]; + d[f[1]] = g.add, h && g.add(function() { + c = h + }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() { + return e[f[0] + "With"](this === e ? d : this, arguments), this + }, e[f[0] + "With"] = g.fireWith + }), d.promise(e), a && a.call(e, e), e + }, + when: function(a) { + var b = 0, + c = d.call(arguments), + e = c.length, + f = 1 !== e || a && n.isFunction(a.promise) ? e : 0, + g = 1 === f ? a : n.Deferred(), + h = function(a, b, c) { + return function(e) { + b[a] = this, c[a] = arguments.length > 1 ? d.call(arguments) : e, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c) + } + }, + i, j, k; + if (e > 1) + for (i = new Array(e), j = new Array(e), k = new Array(e); e > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b].promise().done(h(b, k, c)).fail(g.reject).progress(h(b, j, i)) : --f; + return f || g.resolveWith(k, c), g.promise() + } + }); + var H; + n.fn.ready = function(a) { + return n.ready.promise().done(a), this + }, n.extend({ + isReady: !1, + readyWait: 1, + holdReady: function(a) { + a ? n.readyWait++ : n.ready(!0) + }, + ready: function(a) { + (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (H.resolveWith(l, [n]), n.fn.triggerHandler && (n(l).triggerHandler("ready"), n(l).off("ready")))) + } + }); + + function I() { + l.removeEventListener("DOMContentLoaded", I, !1), a.removeEventListener("load", I, !1), n.ready() + } + n.ready.promise = function(b) { + return H || (H = n.Deferred(), "complete" === l.readyState ? setTimeout(n.ready) : (l.addEventListener("DOMContentLoaded", I, !1), a.addEventListener("load", I, !1))), H.promise(b) + }, n.ready.promise(); + var J = n.access = function(a, b, c, d, e, f, g) { + var h = 0, + i = a.length, + j = null == c; + if ("object" === n.type(c)) { + e = !0; + for (h in c) n.access(a, b, h, c[h], !0, f, g) + } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) { + return j.call(n(a), c) + })), b)) + for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c))); + return e ? a : j ? b.call(a) : i ? b(a[0], c) : f + }; + n.acceptData = function(a) { + return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType + }; + + function K() { + Object.defineProperty(this.cache = {}, 0, { + get: function() { + return {} + } + }), this.expando = n.expando + K.uid++ + } + K.uid = 1, K.accepts = n.acceptData, K.prototype = { + key: function(a) { + if (!K.accepts(a)) return 0; + var b = {}, + c = a[this.expando]; + if (!c) { + c = K.uid++; + try { + b[this.expando] = { + value: c + }, Object.defineProperties(a, b) + } catch (d) { + b[this.expando] = c, n.extend(a, b) + } + } + return this.cache[c] || (this.cache[c] = {}), c + }, + set: function(a, b, c) { + var d, e = this.key(a), + f = this.cache[e]; + if ("string" == typeof b) f[b] = c; + else if (n.isEmptyObject(f)) n.extend(this.cache[e], b); + else + for (d in b) f[d] = b[d]; + return f + }, + get: function(a, b) { + var c = this.cache[this.key(a)]; + return void 0 === b ? c : c[b] + }, + access: function(a, b, c) { + var d; + return void 0 === b || b && "string" == typeof b && void 0 === c ? (d = this.get(a, b), void 0 !== d ? d : this.get(a, n.camelCase(b))) : (this.set(a, b, c), void 0 !== c ? c : b) + }, + remove: function(a, b) { + var c, d, e, f = this.key(a), + g = this.cache[f]; + if (void 0 === b) this.cache[f] = {}; + else { + n.isArray(b) ? d = b.concat(b.map(n.camelCase)) : (e = n.camelCase(b), b in g ? d = [b, e] : (d = e, d = d in g ? [d] : d.match(E) || [])), c = d.length; + while (c--) delete g[d[c]] + } + }, + hasData: function(a) { + return !n.isEmptyObject(this.cache[a[this.expando]] || {}) + }, + discard: function(a) { + a[this.expando] && delete this.cache[a[this.expando]] + } + }; + var L = new K, + M = new K, + N = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + O = /([A-Z])/g; + + function P(a, b, c) { + var d; + if (void 0 === c && 1 === a.nodeType) + if (d = "data-" + b.replace(O, "-$1").toLowerCase(), c = a.getAttribute(d), "string" == typeof c) { + try { + c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : N.test(c) ? n.parseJSON(c) : c + } catch (e) {} + M.set(a, b, c) + } else c = void 0; + return c + } + n.extend({ + hasData: function(a) { + return M.hasData(a) || L.hasData(a) + }, + data: function(a, b, c) { + return M.access(a, b, c) + }, + removeData: function(a, b) { + M.remove(a, b) + }, + _data: function(a, b, c) { + return L.access(a, b, c) + }, + _removeData: function(a, b) { + L.remove(a, b) + } + }), n.fn.extend({ + data: function(a, b) { + var c, d, e, f = this[0], + g = f && f.attributes; + if (void 0 === a) { + if (this.length && (e = M.get(f), 1 === f.nodeType && !L.get(f, "hasDataAttrs"))) { + c = g.length; + while (c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = n.camelCase(d.slice(5)), P(f, d, e[d]))); + L.set(f, "hasDataAttrs", !0) + } + return e + } + return "object" == typeof a ? this.each(function() { + M.set(this, a) + }) : J(this, function(b) { + var c, d = n.camelCase(a); + if (f && void 0 === b) { + if (c = M.get(f, a), void 0 !== c) return c; + if (c = M.get(f, d), void 0 !== c) return c; + if (c = P(f, d, void 0), void 0 !== c) return c + } else this.each(function() { + var c = M.get(this, d); + M.set(this, d, b), -1 !== a.indexOf("-") && void 0 !== c && M.set(this, a, b) + }) + }, null, b, arguments.length > 1, null, !0) + }, + removeData: function(a) { + return this.each(function() { + M.remove(this, a) + }) + } + }), n.extend({ + queue: function(a, b, c) { + var d; + return a ? (b = (b || "fx") + "queue", d = L.get(a, b), c && (!d || n.isArray(c) ? d = L.access(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0 + }, + dequeue: function(a, b) { + b = b || "fx"; + var c = n.queue(a, b), + d = c.length, + e = c.shift(), + f = n._queueHooks(a, b), + g = function() { + n.dequeue(a, b) + }; + "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire() + }, + _queueHooks: function(a, b) { + var c = b + "queueHooks"; + return L.get(a, c) || L.access(a, c, { + empty: n.Callbacks("once memory").add(function() { + L.remove(a, [b + "queue", c]) + }) + }) + } + }), n.fn.extend({ + queue: function(a, b) { + var c = 2; + return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function() { + var c = n.queue(this, a, b); + n._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && n.dequeue(this, a) + }) + }, + dequeue: function(a) { + return this.each(function() { + n.dequeue(this, a) + }) + }, + clearQueue: function(a) { + return this.queue(a || "fx", []) + }, + promise: function(a, b) { + var c, d = 1, + e = n.Deferred(), + f = this, + g = this.length, + h = function() { + --d || e.resolveWith(f, [f]) + }; + "string" != typeof a && (b = a, a = void 0), a = a || "fx"; + while (g--) c = L.get(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h)); + return h(), e.promise(b) + } + }); + var Q = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + R = ["Top", "Right", "Bottom", "Left"], + S = function(a, b) { + return a = b || a, "none" === n.css(a, "display") || !n.contains(a.ownerDocument, a) + }, + T = /^(?:checkbox|radio)$/i; + ! function() { + var a = l.createDocumentFragment(), + b = a.appendChild(l.createElement("div")), + c = l.createElement("input"); + c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), b.appendChild(c), k.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, b.innerHTML = "<textarea>x</textarea>", k.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue + }(); + var U = "undefined"; + k.focusinBubbles = "onfocusin" in a; + var V = /^key/, + W = /^(?:mouse|pointer|contextmenu)|click/, + X = /^(?:focusinfocus|focusoutblur)$/, + Y = /^([^.]*)(?:\.(.+)|)$/; + + function Z() { + return !0 + } + + function $() { + return !1 + } + + function _() { + try { + return l.activeElement + } catch (a) {} + } + n.event = { + global: {}, + add: function(a, b, c, d, e) { + var f, g, h, i, j, k, l, m, o, p, q, r = L.get(a); + if (r) { + c.handler && (f = c, c = f.handler, e = f.selector), c.guid || (c.guid = n.guid++), (i = r.events) || (i = r.events = {}), (g = r.handle) || (g = r.handle = function(b) { + return typeof n !== U && n.event.triggered !== b.type ? n.event.dispatch.apply(a, arguments) : void 0 + }), b = (b || "").match(E) || [""], j = b.length; + while (j--) h = Y.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o && (l = n.event.special[o] || {}, o = (e ? l.delegateType : l.bindType) || o, l = n.event.special[o] || {}, k = n.extend({ + type: o, + origType: q, + data: d, + handler: c, + guid: c.guid, + selector: e, + needsContext: e && n.expr.match.needsContext.test(e), + namespace: p.join(".") + }, f), (m = i[o]) || (m = i[o] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, p, g) !== !1 || a.addEventListener && a.addEventListener(o, g, !1)), l.add && (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), n.event.global[o] = !0) + } + }, + remove: function(a, b, c, d, e) { + var f, g, h, i, j, k, l, m, o, p, q, r = L.hasData(a) && L.get(a); + if (r && (i = r.events)) { + b = (b || "").match(E) || [""], j = b.length; + while (j--) + if (h = Y.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) { + l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = i[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), g = f = m.length; + while (f--) k = m[f], !e && q !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !== k.selector && ("**" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove.call(a, k)); + g && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete i[o]) + } else + for (o in i) n.event.remove(a, o + b[j], c, d, !0); + n.isEmptyObject(i) && (delete r.handle, L.remove(a, "events")) + } + }, + trigger: function(b, c, d, e) { + var f, g, h, i, k, m, o, p = [d || l], + q = j.call(b, "type") ? b.type : b, + r = j.call(b, "namespace") ? b.namespace.split(".") : []; + if (g = h = d = d || l, 3 !== d.nodeType && 8 !== d.nodeType && !X.test(q + n.event.triggered) && (q.indexOf(".") >= 0 && (r = q.split("."), q = r.shift(), r.sort()), k = q.indexOf(":") < 0 && "on" + q, b = b[n.expando] ? b : new n.Event(q, "object" == typeof b && b), b.isTrigger = e ? 2 : 3, b.namespace = r.join("."), b.namespace_re = b.namespace ? new RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = d), c = null == c ? [b] : n.makeArray(c, [b]), o = n.event.special[q] || {}, e || !o.trigger || o.trigger.apply(d, c) !== !1)) { + if (!e && !o.noBubble && !n.isWindow(d)) { + for (i = o.delegateType || q, X.test(i + q) || (g = g.parentNode); g; g = g.parentNode) p.push(g), h = g; + h === (d.ownerDocument || l) && p.push(h.defaultView || h.parentWindow || a) + } + f = 0; + while ((g = p[f++]) && !b.isPropagationStopped()) b.type = f > 1 ? i : o.bindType || q, m = (L.get(g, "events") || {})[b.type] && L.get(g, "handle"), m && m.apply(g, c), m = k && g[k], m && m.apply && n.acceptData(g) && (b.result = m.apply(g, c), b.result === !1 && b.preventDefault()); + return b.type = q, e || b.isDefaultPrevented() || o._default && o._default.apply(p.pop(), c) !== !1 || !n.acceptData(d) || k && n.isFunction(d[q]) && !n.isWindow(d) && (h = d[k], h && (d[k] = null), n.event.triggered = q, d[q](), n.event.triggered = void 0, h && (d[k] = h)), b.result + } + }, + dispatch: function(a) { + a = n.event.fix(a); + var b, c, e, f, g, h = [], + i = d.call(arguments), + j = (L.get(this, "events") || {})[a.type] || [], + k = n.event.special[a.type] || {}; + if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) { + h = n.event.handlers.call(this, a, j), b = 0; + while ((f = h[b++]) && !a.isPropagationStopped()) { + a.currentTarget = f.elem, c = 0; + while ((g = f.handlers[c++]) && !a.isImmediatePropagationStopped())(!a.namespace_re || a.namespace_re.test(g.namespace)) && (a.handleObj = g, a.data = g.data, e = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== e && (a.result = e) === !1 && (a.preventDefault(), a.stopPropagation())) + } + return k.postDispatch && k.postDispatch.call(this, a), a.result + } + }, + handlers: function(a, b) { + var c, d, e, f, g = [], + h = b.delegateCount, + i = a.target; + if (h && i.nodeType && (!a.button || "click" !== a.type)) + for (; i !== this; i = i.parentNode || this) + if (i.disabled !== !0 || "click" !== a.type) { + for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) >= 0 : n.find(e, this, null, [i]).length), d[e] && d.push(f); + d.length && g.push({ + elem: i, + handlers: d + }) + } + return h < b.length && g.push({ + elem: this, + handlers: b.slice(h) + }), g + }, + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + fixHooks: {}, + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function(a, b) { + return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a + } + }, + mouseHooks: { + props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function(a, b) { + var c, d, e, f = b.button; + return null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || l, d = c.documentElement, e = c.body, a.pageX = b.clientX + (d && d.scrollLeft || e && e.scrollLeft || 0) - (d && d.clientLeft || e && e.clientLeft || 0), a.pageY = b.clientY + (d && d.scrollTop || e && e.scrollTop || 0) - (d && d.clientTop || e && e.clientTop || 0)), a.which || void 0 === f || (a.which = 1 & f ? 1 : 2 & f ? 3 : 4 & f ? 2 : 0), a + } + }, + fix: function(a) { + if (a[n.expando]) return a; + var b, c, d, e = a.type, + f = a, + g = this.fixHooks[e]; + g || (this.fixHooks[e] = g = W.test(e) ? this.mouseHooks : V.test(e) ? this.keyHooks : {}), d = g.props ? this.props.concat(g.props) : this.props, a = new n.Event(f), b = d.length; + while (b--) c = d[b], a[c] = f[c]; + return a.target || (a.target = l), 3 === a.target.nodeType && (a.target = a.target.parentNode), g.filter ? g.filter(a, f) : a + }, + special: { + load: { + noBubble: !0 + }, + focus: { + trigger: function() { + return this !== _() && this.focus ? (this.focus(), !1) : void 0 + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + return this === _() && this.blur ? (this.blur(), !1) : void 0 + }, + delegateType: "focusout" + }, + click: { + trigger: function() { + return "checkbox" === this.type && this.click && n.nodeName(this, "input") ? (this.click(), !1) : void 0 + }, + _default: function(a) { + return n.nodeName(a.target, "a") + } + }, + beforeunload: { + postDispatch: function(a) { + void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result) + } + } + }, + simulate: function(a, b, c, d) { + var e = n.extend(new n.Event, c, { + type: a, + isSimulated: !0, + originalEvent: {} + }); + d ? n.event.trigger(e, null, b) : n.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() + } + }, n.removeEvent = function(a, b, c) { + a.removeEventListener && a.removeEventListener(b, c, !1) + }, n.Event = function(a, b) { + return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? Z : $) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void(this[n.expando] = !0)) : new n.Event(a, b) + }, n.Event.prototype = { + isDefaultPrevented: $, + isPropagationStopped: $, + isImmediatePropagationStopped: $, + preventDefault: function() { + var a = this.originalEvent; + this.isDefaultPrevented = Z, a && a.preventDefault && a.preventDefault() + }, + stopPropagation: function() { + var a = this.originalEvent; + this.isPropagationStopped = Z, a && a.stopPropagation && a.stopPropagation() + }, + stopImmediatePropagation: function() { + var a = this.originalEvent; + this.isImmediatePropagationStopped = Z, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation() + } + }, n.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function(a, b) { + n.event.special[a] = { + delegateType: b, + bindType: b, + handle: function(a) { + var c, d = this, + e = a.relatedTarget, + f = a.handleObj; + return (!e || e !== d && !n.contains(d, e)) && (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c + } + } + }), k.focusinBubbles || n.each({ + focus: "focusin", + blur: "focusout" + }, function(a, b) { + var c = function(a) { + n.event.simulate(b, a.target, n.event.fix(a), !0) + }; + n.event.special[b] = { + setup: function() { + var d = this.ownerDocument || this, + e = L.access(d, b); + e || d.addEventListener(a, c, !0), L.access(d, b, (e || 0) + 1) + }, + teardown: function() { + var d = this.ownerDocument || this, + e = L.access(d, b) - 1; + e ? L.access(d, b, e) : (d.removeEventListener(a, c, !0), L.remove(d, b)) + } + } + }), n.fn.extend({ + on: function(a, b, c, d, e) { + var f, g; + if ("object" == typeof a) { + "string" != typeof b && (c = c || b, b = void 0); + for (g in a) this.on(g, b, c, a[g], e); + return this + } + if (null == c && null == d ? (d = b, c = b = void 0) : null == d && ("string" == typeof b ? (d = c, c = void 0) : (d = c, c = b, b = void 0)), d === !1) d = $; + else if (!d) return this; + return 1 === e && (f = d, d = function(a) { + return n().off(a), f.apply(this, arguments) + }, d.guid = f.guid || (f.guid = n.guid++)), this.each(function() { + n.event.add(this, a, d, c, b) + }) + }, + one: function(a, b, c, d) { + return this.on(a, b, c, d, 1) + }, + off: function(a, b, c) { + var d, e; + if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this; + if ("object" == typeof a) { + for (e in a) this.off(e, b, a[e]); + return this + } + return (b === !1 || "function" == typeof b) && (c = b, b = void 0), c === !1 && (c = $), this.each(function() { + n.event.remove(this, a, c, b) + }) + }, + trigger: function(a, b) { + return this.each(function() { + n.event.trigger(a, b, this) + }) + }, + triggerHandler: function(a, b) { + var c = this[0]; + return c ? n.event.trigger(a, b, c, !0) : void 0 + } + }); + var aa = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + ba = /<([\w:]+)/, + ca = /<|&#?\w+;/, + da = /<(?:script|style|link)/i, + ea = /checked\s*(?:[^=]|=\s*.checked.)/i, + fa = /^$|\/(?:java|ecma)script/i, + ga = /^true\/(.*)/, + ha = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, + ia = { + option: [1, "<select multiple='multiple'>", "</select>"], + thead: [1, "<table>", "</table>"], + col: [2, "<table><colgroup>", "</colgroup></table>"], + tr: [2, "<table><tbody>", "</tbody></table>"], + td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], + _default: [0, "", ""] + }; + ia.optgroup = ia.option, ia.tbody = ia.tfoot = ia.colgroup = ia.caption = ia.thead, ia.th = ia.td; + + function ja(a, b) { + return n.nodeName(a, "table") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a + } + + function ka(a) { + return a.type = (null !== a.getAttribute("type")) + "/" + a.type, a + } + + function la(a) { + var b = ga.exec(a.type); + return b ? a.type = b[1] : a.removeAttribute("type"), a + } + + function ma(a, b) { + for (var c = 0, d = a.length; d > c; c++) L.set(a[c], "globalEval", !b || L.get(b[c], "globalEval")) + } + + function na(a, b) { + var c, d, e, f, g, h, i, j; + if (1 === b.nodeType) { + if (L.hasData(a) && (f = L.access(a), g = L.set(b, f), j = f.events)) { + delete g.handle, g.events = {}; + for (e in j) + for (c = 0, d = j[e].length; d > c; c++) n.event.add(b, e, j[e][c]) + } + M.hasData(a) && (h = M.access(a), i = n.extend({}, h), M.set(b, i)) + } + } + + function oa(a, b) { + var c = a.getElementsByTagName ? a.getElementsByTagName(b || "*") : a.querySelectorAll ? a.querySelectorAll(b || "*") : []; + return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], c) : c + } + + function pa(a, b) { + var c = b.nodeName.toLowerCase(); + "input" === c && T.test(a.type) ? b.checked = a.checked : ("input" === c || "textarea" === c) && (b.defaultValue = a.defaultValue) + } + n.extend({ + clone: function(a, b, c) { + var d, e, f, g, h = a.cloneNode(!0), + i = n.contains(a.ownerDocument, a); + if (!(k.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a))) + for (g = oa(h), f = oa(a), d = 0, e = f.length; e > d; d++) pa(f[d], g[d]); + if (b) + if (c) + for (f = f || oa(a), g = g || oa(h), d = 0, e = f.length; e > d; d++) na(f[d], g[d]); + else na(a, h); + return g = oa(h, "script"), g.length > 0 && ma(g, !i && oa(a, "script")), h + }, + buildFragment: function(a, b, c, d) { + for (var e, f, g, h, i, j, k = b.createDocumentFragment(), l = [], m = 0, o = a.length; o > m; m++) + if (e = a[m], e || 0 === e) + if ("object" === n.type(e)) n.merge(l, e.nodeType ? [e] : e); + else if (ca.test(e)) { + f = f || k.appendChild(b.createElement("div")), g = (ba.exec(e) || ["", ""])[1].toLowerCase(), h = ia[g] || ia._default, f.innerHTML = h[1] + e.replace(aa, "<$1></$2>") + h[2], j = h[0]; + while (j--) f = f.lastChild; + n.merge(l, f.childNodes), f = k.firstChild, f.textContent = "" + } else l.push(b.createTextNode(e)); + k.textContent = "", m = 0; + while (e = l[m++]) + if ((!d || -1 === n.inArray(e, d)) && (i = n.contains(e.ownerDocument, e), f = oa(k.appendChild(e), "script"), i && ma(f), c)) { + j = 0; + while (e = f[j++]) fa.test(e.type || "") && c.push(e) + } + return k + }, + cleanData: function(a) { + for (var b, c, d, e, f = n.event.special, g = 0; void 0 !== (c = a[g]); g++) { + if (n.acceptData(c) && (e = c[L.expando], e && (b = L.cache[e]))) { + if (b.events) + for (d in b.events) f[d] ? n.event.remove(c, d) : n.removeEvent(c, d, b.handle); + L.cache[e] && delete L.cache[e] + } + delete M.cache[c[M.expando]] + } + } + }), n.fn.extend({ + text: function(a) { + return J(this, function(a) { + return void 0 === a ? n.text(this) : this.empty().each(function() { + (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = a) + }) + }, null, a, arguments.length) + }, + append: function() { + return this.domManip(arguments, function(a) { + if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { + var b = ja(this, a); + b.appendChild(a) + } + }) + }, + prepend: function() { + return this.domManip(arguments, function(a) { + if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { + var b = ja(this, a); + b.insertBefore(a, b.firstChild) + } + }) + }, + before: function() { + return this.domManip(arguments, function(a) { + this.parentNode && this.parentNode.insertBefore(a, this) + }) + }, + after: function() { + return this.domManip(arguments, function(a) { + this.parentNode && this.parentNode.insertBefore(a, this.nextSibling) + }) + }, + remove: function(a, b) { + for (var c, d = a ? n.filter(a, this) : this, e = 0; null != (c = d[e]); e++) b || 1 !== c.nodeType || n.cleanData(oa(c)), c.parentNode && (b && n.contains(c.ownerDocument, c) && ma(oa(c, "script")), c.parentNode.removeChild(c)); + return this + }, + empty: function() { + for (var a, b = 0; null != (a = this[b]); b++) 1 === a.nodeType && (n.cleanData(oa(a, !1)), a.textContent = ""); + return this + }, + clone: function(a, b) { + return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function() { + return n.clone(this, a, b) + }) + }, + html: function(a) { + return J(this, function(a) { + var b = this[0] || {}, + c = 0, + d = this.length; + if (void 0 === a && 1 === b.nodeType) return b.innerHTML; + if ("string" == typeof a && !da.test(a) && !ia[(ba.exec(a) || ["", ""])[1].toLowerCase()]) { + a = a.replace(aa, "<$1></$2>"); + try { + for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (n.cleanData(oa(b, !1)), b.innerHTML = a); + b = 0 + } catch (e) {} + } + b && this.empty().append(a) + }, null, a, arguments.length) + }, + replaceWith: function() { + var a = arguments[0]; + return this.domManip(arguments, function(b) { + a = this.parentNode, n.cleanData(oa(this)), a && a.replaceChild(b, this) + }), a && (a.length || a.nodeType) ? this : this.remove() + }, + detach: function(a) { + return this.remove(a, !0) + }, + domManip: function(a, b) { + a = e.apply([], a); + var c, d, f, g, h, i, j = 0, + l = this.length, + m = this, + o = l - 1, + p = a[0], + q = n.isFunction(p); + if (q || l > 1 && "string" == typeof p && !k.checkClone && ea.test(p)) return this.each(function(c) { + var d = m.eq(c); + q && (a[0] = p.call(this, c, d.html())), d.domManip(a, b) + }); + if (l && (c = n.buildFragment(a, this[0].ownerDocument, !1, this), d = c.firstChild, 1 === c.childNodes.length && (c = d), d)) { + for (f = n.map(oa(c, "script"), ka), g = f.length; l > j; j++) h = c, j !== o && (h = n.clone(h, !0, !0), g && n.merge(f, oa(h, "script"))), b.call(this[j], h, j); + if (g) + for (i = f[f.length - 1].ownerDocument, n.map(f, la), j = 0; g > j; j++) h = f[j], fa.test(h.type || "") && !L.access(h, "globalEval") && n.contains(i, h) && (h.src ? n._evalUrl && n._evalUrl(h.src) : n.globalEval(h.textContent.replace(ha, ""))) + } + return this + } + }), n.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(a, b) { + n.fn[a] = function(a) { + for (var c, d = [], e = n(a), g = e.length - 1, h = 0; g >= h; h++) c = h === g ? this : this.clone(!0), n(e[h])[b](c), f.apply(d, c.get()); + return this.pushStack(d) + } + }); + var qa, ra = {}; + + function sa(b, c) { + var d, e = n(c.createElement(b)).appendTo(c.body), + f = a.getDefaultComputedStyle && (d = a.getDefaultComputedStyle(e[0])) ? d.display : n.css(e[0], "display"); + return e.detach(), f + } + + function ta(a) { + var b = l, + c = ra[a]; + return c || (c = sa(a, b), "none" !== c && c || (qa = (qa || n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement), b = qa[0].contentDocument, b.write(), b.close(), c = sa(a, b), qa.detach()), ra[a] = c), c + } + var ua = /^margin/, + va = new RegExp("^(" + Q + ")(?!px)[a-z%]+$", "i"), + wa = function(b) { + return b.ownerDocument.defaultView.opener ? b.ownerDocument.defaultView.getComputedStyle(b, null) : a.getComputedStyle(b, null) + }; + + function xa(a, b, c) { + var d, e, f, g, h = a.style; + return c = c || wa(a), c && (g = c.getPropertyValue(b) || c[b]), c && ("" !== g || n.contains(a.ownerDocument, a) || (g = n.style(a, b)), va.test(g) && ua.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f)), void 0 !== g ? g + "" : g + } + + function ya(a, b) { + return { + get: function() { + return a() ? void delete this.get : (this.get = b).apply(this, arguments) + } + } + }! function() { + var b, c, d = l.documentElement, + e = l.createElement("div"), + f = l.createElement("div"); + if (f.style) { + f.style.backgroundClip = "content-box", f.cloneNode(!0).style.backgroundClip = "", k.clearCloneStyle = "content-box" === f.style.backgroundClip, e.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", e.appendChild(f); + + function g() { + f.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", f.innerHTML = "", d.appendChild(e); + var g = a.getComputedStyle(f, null); + b = "1%" !== g.top, c = "4px" === g.width, d.removeChild(e) + } + a.getComputedStyle && n.extend(k, { + pixelPosition: function() { + return g(), b + }, + boxSizingReliable: function() { + return null == c && g(), c + }, + reliableMarginRight: function() { + var b, c = f.appendChild(l.createElement("div")); + return c.style.cssText = f.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", c.style.marginRight = c.style.width = "0", f.style.width = "1px", d.appendChild(e), b = !parseFloat(a.getComputedStyle(c, null).marginRight), d.removeChild(e), f.removeChild(c), b + } + }) + } + }(), n.swap = function(a, b, c, d) { + var e, f, g = {}; + for (f in b) g[f] = a.style[f], a.style[f] = b[f]; + e = c.apply(a, d || []); + for (f in b) a.style[f] = g[f]; + return e + }; + var za = /^(none|table(?!-c[ea]).+)/, + Aa = new RegExp("^(" + Q + ")(.*)$", "i"), + Ba = new RegExp("^([+-])=(" + Q + ")", "i"), + Ca = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + Da = { + letterSpacing: "0", + fontWeight: "400" + }, + Ea = ["Webkit", "O", "Moz", "ms"]; + + function Fa(a, b) { + if (b in a) return b; + var c = b[0].toUpperCase() + b.slice(1), + d = b, + e = Ea.length; + while (e--) + if (b = Ea[e] + c, b in a) return b; + return d + } + + function Ga(a, b, c) { + var d = Aa.exec(b); + return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b + } + + function Ha(a, b, c, d, e) { + for (var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 > f; f += 2) "margin" === c && (g += n.css(a, c + R[f], !0, e)), d ? ("content" === c && (g -= n.css(a, "padding" + R[f], !0, e)), "margin" !== c && (g -= n.css(a, "border" + R[f] + "Width", !0, e))) : (g += n.css(a, "padding" + R[f], !0, e), "padding" !== c && (g += n.css(a, "border" + R[f] + "Width", !0, e))); + return g + } + + function Ia(a, b, c) { + var d = !0, + e = "width" === b ? a.offsetWidth : a.offsetHeight, + f = wa(a), + g = "border-box" === n.css(a, "boxSizing", !1, f); + if (0 >= e || null == e) { + if (e = xa(a, b, f), (0 > e || null == e) && (e = a.style[b]), va.test(e)) return e; + d = g && (k.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0 + } + return e + Ha(a, b, c || (g ? "border" : "content"), d, f) + "px" + } + + function Ja(a, b) { + for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = L.get(d, "olddisplay"), c = d.style.display, b ? (f[g] || "none" !== c || (d.style.display = ""), "" === d.style.display && S(d) && (f[g] = L.access(d, "olddisplay", ta(d.nodeName)))) : (e = S(d), "none" === c && e || L.set(d, "olddisplay", e ? c : n.css(d, "display")))); + for (g = 0; h > g; g++) d = a[g], d.style && (b && "none" !== d.style.display && "" !== d.style.display || (d.style.display = b ? f[g] || "" : "none")); + return a + } + n.extend({ + cssHooks: { + opacity: { + get: function(a, b) { + if (b) { + var c = xa(a, "opacity"); + return "" === c ? "1" : c + } + } + } + }, + cssNumber: { + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: { + "float": "cssFloat" + }, + style: function(a, b, c, d) { + if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) { + var e, f, g, h = n.camelCase(b), + i = a.style; + return b = n.cssProps[h] || (n.cssProps[h] = Fa(i, h)), g = n.cssHooks[b] || n.cssHooks[h], void 0 === c ? g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, "string" === f && (e = Ba.exec(c)) && (c = (e[1] + 1) * e[2] + parseFloat(n.css(a, b)), f = "number"), null != c && c === c && ("number" !== f || n.cssNumber[h] || (c += "px"), k.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), g && "set" in g && void 0 === (c = g.set(a, c, d)) || (i[b] = c)), void 0) + } + }, + css: function(a, b, c, d) { + var e, f, g, h = n.camelCase(b); + return b = n.cssProps[h] || (n.cssProps[h] = Fa(a.style, h)), g = n.cssHooks[b] || n.cssHooks[h], g && "get" in g && (e = g.get(a, !0, c)), void 0 === e && (e = xa(a, b, d)), "normal" === e && b in Da && (e = Da[b]), "" === c || c ? (f = parseFloat(e), c === !0 || n.isNumeric(f) ? f || 0 : e) : e + } + }), n.each(["height", "width"], function(a, b) { + n.cssHooks[b] = { + get: function(a, c, d) { + return c ? za.test(n.css(a, "display")) && 0 === a.offsetWidth ? n.swap(a, Ca, function() { + return Ia(a, b, d) + }) : Ia(a, b, d) : void 0 + }, + set: function(a, c, d) { + var e = d && wa(a); + return Ga(a, c, d ? Ha(a, b, d, "border-box" === n.css(a, "boxSizing", !1, e), e) : 0) + } + } + }), n.cssHooks.marginRight = ya(k.reliableMarginRight, function(a, b) { + return b ? n.swap(a, { + display: "inline-block" + }, xa, [a, "marginRight"]) : void 0 + }), n.each({ + margin: "", + padding: "", + border: "Width" + }, function(a, b) { + n.cssHooks[a + b] = { + expand: function(c) { + for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) e[a + R[d] + b] = f[d] || f[d - 2] || f[0]; + return e + } + }, ua.test(a) || (n.cssHooks[a + b].set = Ga) + }), n.fn.extend({ + css: function(a, b) { + return J(this, function(a, b, c) { + var d, e, f = {}, + g = 0; + if (n.isArray(b)) { + for (d = wa(a), e = b.length; e > g; g++) f[b[g]] = n.css(a, b[g], !1, d); + return f + } + return void 0 !== c ? n.style(a, b, c) : n.css(a, b) + }, a, b, arguments.length > 1) + }, + show: function() { + return Ja(this, !0) + }, + hide: function() { + return Ja(this) + }, + toggle: function(a) { + return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function() { + S(this) ? n(this).show() : n(this).hide() + }) + } + }); + + function Ka(a, b, c, d, e) { + return new Ka.prototype.init(a, b, c, d, e) + } + n.Tween = Ka, Ka.prototype = { + constructor: Ka, + init: function(a, b, c, d, e, f) { + this.elem = a, this.prop = c, this.easing = e || "swing", this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (n.cssNumber[c] ? "" : "px") + }, + cur: function() { + var a = Ka.propHooks[this.prop]; + return a && a.get ? a.get(this) : Ka.propHooks._default.get(this) + }, + run: function(a) { + var b, c = Ka.propHooks[this.prop]; + return this.options.duration ? this.pos = b = n.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Ka.propHooks._default.set(this), this + } + }, Ka.prototype.init.prototype = Ka.prototype, Ka.propHooks = { + _default: { + get: function(a) { + var b; + return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = n.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) : a.elem[a.prop] + }, + set: function(a) { + n.fx.step[a.prop] ? n.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[n.cssProps[a.prop]] || n.cssHooks[a.prop]) ? n.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now + } + } + }, Ka.propHooks.scrollTop = Ka.propHooks.scrollLeft = { + set: function(a) { + a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now) + } + }, n.easing = { + linear: function(a) { + return a + }, + swing: function(a) { + return .5 - Math.cos(a * Math.PI) / 2 + } + }, n.fx = Ka.prototype.init, n.fx.step = {}; + var La, Ma, Na = /^(?:toggle|show|hide)$/, + Oa = new RegExp("^(?:([+-])=|)(" + Q + ")([a-z%]*)$", "i"), + Pa = /queueHooks$/, + Qa = [Va], + Ra = { + "*": [function(a, b) { + var c = this.createTween(a, b), + d = c.cur(), + e = Oa.exec(b), + f = e && e[3] || (n.cssNumber[a] ? "" : "px"), + g = (n.cssNumber[a] || "px" !== f && +d) && Oa.exec(n.css(c.elem, a)), + h = 1, + i = 20; + if (g && g[3] !== f) { + f = f || g[3], e = e || [], g = +d || 1; + do h = h || ".5", g /= h, n.style(c.elem, a, g + f); while (h !== (h = c.cur() / d) && 1 !== h && --i) + } + return e && (g = c.start = +g || +d || 0, c.unit = f, c.end = e[1] ? g + (e[1] + 1) * e[2] : +e[2]), c + }] + }; + + function Sa() { + return setTimeout(function() { + La = void 0 + }), La = n.now() + } + + function Ta(a, b) { + var c, d = 0, + e = { + height: a + }; + for (b = b ? 1 : 0; 4 > d; d += 2 - b) c = R[d], e["margin" + c] = e["padding" + c] = a; + return b && (e.opacity = e.width = a), e + } + + function Ua(a, b, c) { + for (var d, e = (Ra[b] || []).concat(Ra["*"]), f = 0, g = e.length; g > f; f++) + if (d = e[f].call(c, b, a)) return d + } + + function Va(a, b, c) { + var d, e, f, g, h, i, j, k, l = this, + m = {}, + o = a.style, + p = a.nodeType && S(a), + q = L.get(a, "fxshow"); + c.queue || (h = n._queueHooks(a, "fx"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() { + h.unqueued || i() + }), h.unqueued++, l.always(function() { + l.always(function() { + h.unqueued--, n.queue(a, "fx").length || h.empty.fire() + }) + })), 1 === a.nodeType && ("height" in b || "width" in b) && (c.overflow = [o.overflow, o.overflowX, o.overflowY], j = n.css(a, "display"), k = "none" === j ? L.get(a, "olddisplay") || ta(a.nodeName) : j, "inline" === k && "none" === n.css(a, "float") && (o.display = "inline-block")), c.overflow && (o.overflow = "hidden", l.always(function() { + o.overflow = c.overflow[0], o.overflowX = c.overflow[1], o.overflowY = c.overflow[2] + })); + for (d in b) + if (e = b[d], Na.exec(e)) { + if (delete b[d], f = f || "toggle" === e, e === (p ? "hide" : "show")) { + if ("show" !== e || !q || void 0 === q[d]) continue; + p = !0 + } + m[d] = q && q[d] || n.style(a, d) + } else j = void 0; + if (n.isEmptyObject(m)) "inline" === ("none" === j ? ta(a.nodeName) : j) && (o.display = j); + else { + q ? "hidden" in q && (p = q.hidden) : q = L.access(a, "fxshow", {}), f && (q.hidden = !p), p ? n(a).show() : l.done(function() { + n(a).hide() + }), l.done(function() { + var b; + L.remove(a, "fxshow"); + for (b in m) n.style(a, b, m[b]) + }); + for (d in m) g = Ua(p ? q[d] : 0, d, l), d in q || (q[d] = g.start, p && (g.end = g.start, g.start = "width" === d || "height" === d ? 1 : 0)) + } + } + + function Wa(a, b) { + var c, d, e, f, g; + for (c in a) + if (d = n.camelCase(c), e = b[d], f = a[c], n.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = n.cssHooks[d], g && "expand" in g) { + f = g.expand(f), delete a[d]; + for (c in f) c in a || (a[c] = f[c], b[c] = e) + } else b[d] = e + } + + function Xa(a, b, c) { + var d, e, f = 0, + g = Qa.length, + h = n.Deferred().always(function() { + delete i.elem + }), + i = function() { + if (e) return !1; + for (var b = La || Sa(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f); + return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1) + }, + j = h.promise({ + elem: a, + props: n.extend({}, b), + opts: n.extend(!0, { + specialEasing: {} + }, c), + originalProperties: b, + originalOptions: c, + startTime: La || Sa(), + duration: c.duration, + tweens: [], + createTween: function(b, c) { + var d = n.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing); + return j.tweens.push(d), d + }, + stop: function(b) { + var c = 0, + d = b ? j.tweens.length : 0; + if (e) return this; + for (e = !0; d > c; c++) j.tweens[c].run(1); + return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this + } + }), + k = j.props; + for (Wa(k, j.opts.specialEasing); g > f; f++) + if (d = Qa[f].call(j, a, k, j.opts)) return d; + return n.map(k, Ua, j), n.isFunction(j.opts.start) && j.opts.start.call(a, j), n.fx.timer(n.extend(i, { + elem: a, + anim: j, + queue: j.opts.queue + })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always) + } + n.Animation = n.extend(Xa, { + tweener: function(a, b) { + n.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" "); + for (var c, d = 0, e = a.length; e > d; d++) c = a[d], Ra[c] = Ra[c] || [], Ra[c].unshift(b) + }, + prefilter: function(a, b) { + b ? Qa.unshift(a) : Qa.push(a) + } + }), n.speed = function(a, b, c) { + var d = a && "object" == typeof a ? n.extend({}, a) : { + complete: c || !c && b || n.isFunction(a) && a, + duration: a, + easing: c && b || b && !n.isFunction(b) && b + }; + return d.duration = n.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in n.fx.speeds ? n.fx.speeds[d.duration] : n.fx.speeds._default, (null == d.queue || d.queue === !0) && (d.queue = "fx"), d.old = d.complete, d.complete = function() { + n.isFunction(d.old) && d.old.call(this), d.queue && n.dequeue(this, d.queue) + }, d + }, n.fn.extend({ + fadeTo: function(a, b, c, d) { + return this.filter(S).css("opacity", 0).show().end().animate({ + opacity: b + }, a, c, d) + }, + animate: function(a, b, c, d) { + var e = n.isEmptyObject(a), + f = n.speed(b, c, d), + g = function() { + var b = Xa(this, n.extend({}, a), f); + (e || L.get(this, "finish")) && b.stop(!0) + }; + return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g) + }, + stop: function(a, b, c) { + var d = function(a) { + var b = a.stop; + delete a.stop, b(c) + }; + return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function() { + var b = !0, + e = null != a && a + "queueHooks", + f = n.timers, + g = L.get(this); + if (e) g[e] && g[e].stop && d(g[e]); + else + for (e in g) g[e] && g[e].stop && Pa.test(e) && d(g[e]); + for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1)); + (b || !c) && n.dequeue(this, a) + }) + }, + finish: function(a) { + return a !== !1 && (a = a || "fx"), this.each(function() { + var b, c = L.get(this), + d = c[a + "queue"], + e = c[a + "queueHooks"], + f = n.timers, + g = d ? d.length : 0; + for (c.finish = !0, n.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1)); + for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this); + delete c.finish + }) + } + }), n.each(["toggle", "show", "hide"], function(a, b) { + var c = n.fn[b]; + n.fn[b] = function(a, d, e) { + return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(Ta(b, !0), a, d, e) + } + }), n.each({ + slideDown: Ta("show"), + slideUp: Ta("hide"), + slideToggle: Ta("toggle"), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function(a, b) { + n.fn[a] = function(a, c, d) { + return this.animate(b, a, c, d) + } + }), n.timers = [], n.fx.tick = function() { + var a, b = 0, + c = n.timers; + for (La = n.now(); b < c.length; b++) a = c[b], a() || c[b] !== a || c.splice(b--, 1); + c.length || n.fx.stop(), La = void 0 + }, n.fx.timer = function(a) { + n.timers.push(a), a() ? n.fx.start() : n.timers.pop() + }, n.fx.interval = 13, n.fx.start = function() { + Ma || (Ma = setInterval(n.fx.tick, n.fx.interval)) + }, n.fx.stop = function() { + clearInterval(Ma), Ma = null + }, n.fx.speeds = { + slow: 600, + fast: 200, + _default: 400 + }, n.fn.delay = function(a, b) { + return a = n.fx ? n.fx.speeds[a] || a : a, b = b || "fx", this.queue(b, function(b, c) { + var d = setTimeout(b, a); + c.stop = function() { + clearTimeout(d) + } + }) + }, + function() { + var a = l.createElement("input"), + b = l.createElement("select"), + c = b.appendChild(l.createElement("option")); + a.type = "checkbox", k.checkOn = "" !== a.value, k.optSelected = c.selected, b.disabled = !0, k.optDisabled = !c.disabled, a = l.createElement("input"), a.value = "t", a.type = "radio", k.radioValue = "t" === a.value + }(); + var Ya, Za, $a = n.expr.attrHandle; + n.fn.extend({ + attr: function(a, b) { + return J(this, n.attr, a, b, arguments.length > 1) + }, + removeAttr: function(a) { + return this.each(function() { + n.removeAttr(this, a) + }) + } + }), n.extend({ + attr: function(a, b, c) { + var d, e, f = a.nodeType; + if (a && 3 !== f && 8 !== f && 2 !== f) return typeof a.getAttribute === U ? n.prop(a, b, c) : (1 === f && n.isXMLDoc(a) || (b = b.toLowerCase(), d = n.attrHooks[b] || (n.expr.match.bool.test(b) ? Za : Ya)), + void 0 === c ? d && "get" in d && null !== (e = d.get(a, b)) ? e : (e = n.find.attr(a, b), null == e ? void 0 : e) : null !== c ? d && "set" in d && void 0 !== (e = d.set(a, c, b)) ? e : (a.setAttribute(b, c + ""), c) : void n.removeAttr(a, b)) + }, + removeAttr: function(a, b) { + var c, d, e = 0, + f = b && b.match(E); + if (f && 1 === a.nodeType) + while (c = f[e++]) d = n.propFix[c] || c, n.expr.match.bool.test(c) && (a[d] = !1), a.removeAttribute(c) + }, + attrHooks: { + type: { + set: function(a, b) { + if (!k.radioValue && "radio" === b && n.nodeName(a, "input")) { + var c = a.value; + return a.setAttribute("type", b), c && (a.value = c), b + } + } + } + } + }), Za = { + set: function(a, b, c) { + return b === !1 ? n.removeAttr(a, c) : a.setAttribute(c, c), c + } + }, n.each(n.expr.match.bool.source.match(/\w+/g), function(a, b) { + var c = $a[b] || n.find.attr; + $a[b] = function(a, b, d) { + var e, f; + return d || (f = $a[b], $a[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, $a[b] = f), e + } + }); + var _a = /^(?:input|select|textarea|button)$/i; + n.fn.extend({ + prop: function(a, b) { + return J(this, n.prop, a, b, arguments.length > 1) + }, + removeProp: function(a) { + return this.each(function() { + delete this[n.propFix[a] || a] + }) + } + }), n.extend({ + propFix: { + "for": "htmlFor", + "class": "className" + }, + prop: function(a, b, c) { + var d, e, f, g = a.nodeType; + if (a && 3 !== g && 8 !== g && 2 !== g) return f = 1 !== g || !n.isXMLDoc(a), f && (b = n.propFix[b] || b, e = n.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b] + }, + propHooks: { + tabIndex: { + get: function(a) { + return a.hasAttribute("tabindex") || _a.test(a.nodeName) || a.href ? a.tabIndex : -1 + } + } + } + }), k.optSelected || (n.propHooks.selected = { + get: function(a) { + var b = a.parentNode; + return b && b.parentNode && b.parentNode.selectedIndex, null + } + }), n.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { + n.propFix[this.toLowerCase()] = this + }); + var ab = /[\t\r\n\f]/g; + n.fn.extend({ + addClass: function(a) { + var b, c, d, e, f, g, h = "string" == typeof a && a, + i = 0, + j = this.length; + if (n.isFunction(a)) return this.each(function(b) { + n(this).addClass(a.call(this, b, this.className)) + }); + if (h) + for (b = (a || "").match(E) || []; j > i; i++) + if (c = this[i], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(ab, " ") : " ")) { + f = 0; + while (e = b[f++]) d.indexOf(" " + e + " ") < 0 && (d += e + " "); + g = n.trim(d), c.className !== g && (c.className = g) + } + return this + }, + removeClass: function(a) { + var b, c, d, e, f, g, h = 0 === arguments.length || "string" == typeof a && a, + i = 0, + j = this.length; + if (n.isFunction(a)) return this.each(function(b) { + n(this).removeClass(a.call(this, b, this.className)) + }); + if (h) + for (b = (a || "").match(E) || []; j > i; i++) + if (c = this[i], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(ab, " ") : "")) { + f = 0; + while (e = b[f++]) + while (d.indexOf(" " + e + " ") >= 0) d = d.replace(" " + e + " ", " "); + g = a ? n.trim(d) : "", c.className !== g && (c.className = g) + } + return this + }, + toggleClass: function(a, b) { + var c = typeof a; + return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : this.each(n.isFunction(a) ? function(c) { + n(this).toggleClass(a.call(this, c, this.className, b), b) + } : function() { + if ("string" === c) { + var b, d = 0, + e = n(this), + f = a.match(E) || []; + while (b = f[d++]) e.hasClass(b) ? e.removeClass(b) : e.addClass(b) + } else(c === U || "boolean" === c) && (this.className && L.set(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : L.get(this, "__className__") || "") + }) + }, + hasClass: function(a) { + for (var b = " " + a + " ", c = 0, d = this.length; d > c; c++) + if (1 === this[c].nodeType && (" " + this[c].className + " ").replace(ab, " ").indexOf(b) >= 0) return !0; + return !1 + } + }); + var bb = /\r/g; + n.fn.extend({ + val: function(a) { + var b, c, d, e = this[0]; { + if (arguments.length) return d = n.isFunction(a), this.each(function(c) { + var e; + 1 === this.nodeType && (e = d ? a.call(this, c, n(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : n.isArray(e) && (e = n.map(e, function(a) { + return null == a ? "" : a + "" + })), b = n.valHooks[this.type] || n.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e)) + }); + if (e) return b = n.valHooks[e.type] || n.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(bb, "") : null == c ? "" : c) + } + } + }), n.extend({ + valHooks: { + option: { + get: function(a) { + var b = n.find.attr(a, "value"); + return null != b ? b : n.trim(n.text(a)) + } + }, + select: { + get: function(a) { + for (var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++) + if (c = d[i], !(!c.selected && i !== e || (k.optDisabled ? c.disabled : null !== c.getAttribute("disabled")) || c.parentNode.disabled && n.nodeName(c.parentNode, "optgroup"))) { + if (b = n(c).val(), f) return b; + g.push(b) + } + return g + }, + set: function(a, b) { + var c, d, e = a.options, + f = n.makeArray(b), + g = e.length; + while (g--) d = e[g], (d.selected = n.inArray(d.value, f) >= 0) && (c = !0); + return c || (a.selectedIndex = -1), f + } + } + } + }), n.each(["radio", "checkbox"], function() { + n.valHooks[this] = { + set: function(a, b) { + return n.isArray(b) ? a.checked = n.inArray(n(a).val(), b) >= 0 : void 0 + } + }, k.checkOn || (n.valHooks[this].get = function(a) { + return null === a.getAttribute("value") ? "on" : a.value + }) + }), n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) { + n.fn[b] = function(a, c) { + return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) + } + }), n.fn.extend({ + hover: function(a, b) { + return this.mouseenter(a).mouseleave(b || a) + }, + bind: function(a, b, c) { + return this.on(a, null, b, c) + }, + unbind: function(a, b) { + return this.off(a, null, b) + }, + delegate: function(a, b, c, d) { + return this.on(b, a, c, d) + }, + undelegate: function(a, b, c) { + return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c) + } + }); + var cb = n.now(), + db = /\?/; + n.parseJSON = function(a) { + return JSON.parse(a + "") + }, n.parseXML = function(a) { + var b, c; + if (!a || "string" != typeof a) return null; + try { + c = new DOMParser, b = c.parseFromString(a, "text/xml") + } catch (d) { + b = void 0 + } + return (!b || b.getElementsByTagName("parsererror").length) && n.error("Invalid XML: " + a), b + }; + var eb = /#.*$/, + fb = /([?&])_=[^&]*/, + gb = /^(.*?):[ \t]*([^\r\n]*)$/gm, + hb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + ib = /^(?:GET|HEAD)$/, + jb = /^\/\//, + kb = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, + lb = {}, + mb = {}, + nb = "*/".concat("*"), + ob = a.location.href, + pb = kb.exec(ob.toLowerCase()) || []; + + function qb(a) { + return function(b, c) { + "string" != typeof b && (c = b, b = "*"); + var d, e = 0, + f = b.toLowerCase().match(E) || []; + if (n.isFunction(c)) + while (d = f[e++]) "+" === d[0] ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c) + } + } + + function rb(a, b, c, d) { + var e = {}, + f = a === mb; + + function g(h) { + var i; + return e[h] = !0, n.each(a[h] || [], function(a, h) { + var j = h(b, c, d); + return "string" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1) + }), i + } + return g(b.dataTypes[0]) || !e["*"] && g("*") + } + + function sb(a, b) { + var c, d, e = n.ajaxSettings.flatOptions || {}; + for (c in b) void 0 !== b[c] && ((e[c] ? a : d || (d = {}))[c] = b[c]); + return d && n.extend(!0, a, d), a + } + + function tb(a, b, c) { + var d, e, f, g, h = a.contents, + i = a.dataTypes; + while ("*" === i[0]) i.shift(), void 0 === d && (d = a.mimeType || b.getResponseHeader("Content-Type")); + if (d) + for (e in h) + if (h[e] && h[e].test(d)) { + i.unshift(e); + break + } + if (i[0] in c) f = i[0]; + else { + for (e in c) { + if (!i[0] || a.converters[e + " " + i[0]]) { + f = e; + break + } + g || (g = e) + } + f = f || g + } + return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0 + } + + function ub(a, b, c, d) { + var e, f, g, h, i, j = {}, + k = a.dataTypes.slice(); + if (k[1]) + for (g in a.converters) j[g.toLowerCase()] = a.converters[g]; + f = k.shift(); + while (f) + if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift()) + if ("*" === f) f = i; + else if ("*" !== i && i !== f) { + if (g = j[i + " " + f] || j["* " + f], !g) + for (e in j) + if (h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) { + g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1])); + break + } + if (g !== !0) + if (g && a["throws"]) b = g(b); + else try { + b = g(b) + } catch (l) { + return { + state: "parsererror", + error: g ? l : "No conversion from " + i + " to " + f + } + } + } + return { + state: "success", + data: b + } + } + n.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: ob, + type: "GET", + isLocal: hb.test(pb[1]), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": nb, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": !0, + "text json": n.parseJSON, + "text xml": n.parseXML + }, + flatOptions: { + url: !0, + context: !0 + } + }, + ajaxSetup: function(a, b) { + return b ? sb(sb(a, n.ajaxSettings), b) : sb(n.ajaxSettings, a) + }, + ajaxPrefilter: qb(lb), + ajaxTransport: qb(mb), + ajax: function(a, b) { + "object" == typeof a && (b = a, a = void 0), b = b || {}; + var c, d, e, f, g, h, i, j, k = n.ajaxSetup({}, b), + l = k.context || k, + m = k.context && (l.nodeType || l.jquery) ? n(l) : n.event, + o = n.Deferred(), + p = n.Callbacks("once memory"), + q = k.statusCode || {}, + r = {}, + s = {}, + t = 0, + u = "canceled", + v = { + readyState: 0, + getResponseHeader: function(a) { + var b; + if (2 === t) { + if (!f) { + f = {}; + while (b = gb.exec(e)) f[b[1].toLowerCase()] = b[2] + } + b = f[a.toLowerCase()] + } + return null == b ? null : b + }, + getAllResponseHeaders: function() { + return 2 === t ? e : null + }, + setRequestHeader: function(a, b) { + var c = a.toLowerCase(); + return t || (a = s[c] = s[c] || a, r[a] = b), this + }, + overrideMimeType: function(a) { + return t || (k.mimeType = a), this + }, + statusCode: function(a) { + var b; + if (a) + if (2 > t) + for (b in a) q[b] = [q[b], a[b]]; + else v.always(a[v.status]); + return this + }, + abort: function(a) { + var b = a || u; + return c && c.abort(b), x(0, b), this + } + }; + if (o.promise(v).complete = p.add, v.success = v.done, v.error = v.fail, k.url = ((a || k.url || ob) + "").replace(eb, "").replace(jb, pb[1] + "//"), k.type = b.method || b.type || k.method || k.type, k.dataTypes = n.trim(k.dataType || "*").toLowerCase().match(E) || [""], null == k.crossDomain && (h = kb.exec(k.url.toLowerCase()), k.crossDomain = !(!h || h[1] === pb[1] && h[2] === pb[2] && (h[3] || ("http:" === h[1] ? "80" : "443")) === (pb[3] || ("http:" === pb[1] ? "80" : "443")))), k.data && k.processData && "string" != typeof k.data && (k.data = n.param(k.data, k.traditional)), rb(lb, k, b, v), 2 === t) return v; + i = n.event && k.global, i && 0 === n.active++ && n.event.trigger("ajaxStart"), k.type = k.type.toUpperCase(), k.hasContent = !ib.test(k.type), d = k.url, k.hasContent || (k.data && (d = k.url += (db.test(d) ? "&" : "?") + k.data, delete k.data), k.cache === !1 && (k.url = fb.test(d) ? d.replace(fb, "$1_=" + cb++) : d + (db.test(d) ? "&" : "?") + "_=" + cb++)), k.ifModified && (n.lastModified[d] && v.setRequestHeader("If-Modified-Since", n.lastModified[d]), n.etag[d] && v.setRequestHeader("If-None-Match", n.etag[d])), (k.data && k.hasContent && k.contentType !== !1 || b.contentType) && v.setRequestHeader("Content-Type", k.contentType), v.setRequestHeader("Accept", k.dataTypes[0] && k.accepts[k.dataTypes[0]] ? k.accepts[k.dataTypes[0]] + ("*" !== k.dataTypes[0] ? ", " + nb + "; q=0.01" : "") : k.accepts["*"]); + for (j in k.headers) v.setRequestHeader(j, k.headers[j]); + if (k.beforeSend && (k.beforeSend.call(l, v, k) === !1 || 2 === t)) return v.abort(); + u = "abort"; + for (j in { + success: 1, + error: 1, + complete: 1 + }) v[j](k[j]); + if (c = rb(mb, k, b, v)) { + v.readyState = 1, i && m.trigger("ajaxSend", [v, k]), k.async && k.timeout > 0 && (g = setTimeout(function() { + v.abort("timeout") + }, k.timeout)); + try { + t = 1, c.send(r, x) + } catch (w) { + if (!(2 > t)) throw w; + x(-1, w) + } + } else x(-1, "No Transport"); + + function x(a, b, f, h) { + var j, r, s, u, w, x = b; + 2 !== t && (t = 2, g && clearTimeout(g), c = void 0, e = h || "", v.readyState = a > 0 ? 4 : 0, j = a >= 200 && 300 > a || 304 === a, f && (u = tb(k, v, f)), u = ub(k, u, v, j), j ? (k.ifModified && (w = v.getResponseHeader("Last-Modified"), w && (n.lastModified[d] = w), w = v.getResponseHeader("etag"), w && (n.etag[d] = w)), 204 === a || "HEAD" === k.type ? x = "nocontent" : 304 === a ? x = "notmodified" : (x = u.state, r = u.data, s = u.error, j = !s)) : (s = x, (a || !x) && (x = "error", 0 > a && (a = 0))), v.status = a, v.statusText = (b || x) + "", j ? o.resolveWith(l, [r, x, v]) : o.rejectWith(l, [v, x, s]), v.statusCode(q), q = void 0, i && m.trigger(j ? "ajaxSuccess" : "ajaxError", [v, k, j ? r : s]), p.fireWith(l, [v, x]), i && (m.trigger("ajaxComplete", [v, k]), --n.active || n.event.trigger("ajaxStop"))) + } + return v + }, + getJSON: function(a, b, c) { + return n.get(a, b, c, "json") + }, + getScript: function(a, b) { + return n.get(a, void 0, b, "script") + } + }), n.each(["get", "post"], function(a, b) { + n[b] = function(a, c, d, e) { + return n.isFunction(c) && (e = e || d, d = c, c = void 0), n.ajax({ + url: a, + type: b, + dataType: e, + data: c, + success: d + }) + } + }), n._evalUrl = function(a) { + return n.ajax({ + url: a, + type: "GET", + dataType: "script", + async: !1, + global: !1, + "throws": !0 + }) + }, n.fn.extend({ + wrapAll: function(a) { + var b; + return n.isFunction(a) ? this.each(function(b) { + n(this).wrapAll(a.call(this, b)) + }) : (this[0] && (b = n(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && b.insertBefore(this[0]), b.map(function() { + var a = this; + while (a.firstElementChild) a = a.firstElementChild; + return a + }).append(this)), this) + }, + wrapInner: function(a) { + return this.each(n.isFunction(a) ? function(b) { + n(this).wrapInner(a.call(this, b)) + } : function() { + var b = n(this), + c = b.contents(); + c.length ? c.wrapAll(a) : b.append(a) + }) + }, + wrap: function(a) { + var b = n.isFunction(a); + return this.each(function(c) { + n(this).wrapAll(b ? a.call(this, c) : a) + }) + }, + unwrap: function() { + return this.parent().each(function() { + n.nodeName(this, "body") || n(this).replaceWith(this.childNodes) + }).end() + } + }), n.expr.filters.hidden = function(a) { + return a.offsetWidth <= 0 && a.offsetHeight <= 0 + }, n.expr.filters.visible = function(a) { + return !n.expr.filters.hidden(a) + }; + var vb = /%20/g, + wb = /\[\]$/, + xb = /\r?\n/g, + yb = /^(?:submit|button|image|reset|file)$/i, + zb = /^(?:input|select|textarea|keygen)/i; + + function Ab(a, b, c, d) { + var e; + if (n.isArray(b)) n.each(b, function(b, e) { + c || wb.test(a) ? d(a, e) : Ab(a + "[" + ("object" == typeof e ? b : "") + "]", e, c, d) + }); + else if (c || "object" !== n.type(b)) d(a, b); + else + for (e in b) Ab(a + "[" + e + "]", b[e], c, d) + } + n.param = function(a, b) { + var c, d = [], + e = function(a, b) { + b = n.isFunction(b) ? b() : null == b ? "" : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) + }; + if (void 0 === b && (b = n.ajaxSettings && n.ajaxSettings.traditional), n.isArray(a) || a.jquery && !n.isPlainObject(a)) n.each(a, function() { + e(this.name, this.value) + }); + else + for (c in a) Ab(c, a[c], b, e); + return d.join("&").replace(vb, "+") + }, n.fn.extend({ + serialize: function() { + return n.param(this.serializeArray()) + }, + serializeArray: function() { + return this.map(function() { + var a = n.prop(this, "elements"); + return a ? n.makeArray(a) : this + }).filter(function() { + var a = this.type; + return this.name && !n(this).is(":disabled") && zb.test(this.nodeName) && !yb.test(a) && (this.checked || !T.test(a)) + }).map(function(a, b) { + var c = n(this).val(); + return null == c ? null : n.isArray(c) ? n.map(c, function(a) { + return { + name: b.name, + value: a.replace(xb, "\r\n") + } + }) : { + name: b.name, + value: c.replace(xb, "\r\n") + } + }).get() + } + }), n.ajaxSettings.xhr = function() { + try { + return new XMLHttpRequest + } catch (a) {} + }; + var Bb = 0, + Cb = {}, + Db = { + 0: 200, + 1223: 204 + }, + Eb = n.ajaxSettings.xhr(); + a.attachEvent && a.attachEvent("onunload", function() { + for (var a in Cb) Cb[a]() + }), k.cors = !!Eb && "withCredentials" in Eb, k.ajax = Eb = !!Eb, n.ajaxTransport(function(a) { + var b; + return k.cors || Eb && !a.crossDomain ? { + send: function(c, d) { + var e, f = a.xhr(), + g = ++Bb; + if (f.open(a.type, a.url, a.async, a.username, a.password), a.xhrFields) + for (e in a.xhrFields) f[e] = a.xhrFields[e]; + a.mimeType && f.overrideMimeType && f.overrideMimeType(a.mimeType), a.crossDomain || c["X-Requested-With"] || (c["X-Requested-With"] = "XMLHttpRequest"); + for (e in c) f.setRequestHeader(e, c[e]); + b = function(a) { + return function() { + b && (delete Cb[g], b = f.onload = f.onerror = null, "abort" === a ? f.abort() : "error" === a ? d(f.status, f.statusText) : d(Db[f.status] || f.status, f.statusText, "string" == typeof f.responseText ? { + text: f.responseText + } : void 0, f.getAllResponseHeaders())) + } + }, f.onload = b(), f.onerror = b("error"), b = Cb[g] = b("abort"); + try { + f.send(a.hasContent && a.data || null) + } catch (h) { + if (b) throw h + } + }, + abort: function() { + b && b() + } + } : void 0 + }), n.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /(?:java|ecma)script/ + }, + converters: { + "text script": function(a) { + return n.globalEval(a), a + } + } + }), n.ajaxPrefilter("script", function(a) { + void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET") + }), n.ajaxTransport("script", function(a) { + if (a.crossDomain) { + var b, c; + return { + send: function(d, e) { + b = n("<script>").prop({ + async: !0, + charset: a.scriptCharset, + src: a.url + }).on("load error", c = function(a) { + b.remove(), c = null, a && e("error" === a.type ? 404 : 200, a.type) + }), l.head.appendChild(b[0]) + }, + abort: function() { + c && c() + } + } + } + }); + var Fb = [], + Gb = /(=)\?(?=&|$)|\?\?/; + n.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var a = Fb.pop() || n.expando + "_" + cb++; + return this[a] = !0, a + } + }), n.ajaxPrefilter("json jsonp", function(b, c, d) { + var e, f, g, h = b.jsonp !== !1 && (Gb.test(b.url) ? "url" : "string" == typeof b.data && !(b.contentType || "").indexOf("application/x-www-form-urlencoded") && Gb.test(b.data) && "data"); + return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = n.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(Gb, "$1" + e) : b.jsonp !== !1 && (b.url += (db.test(b.url) ? "&" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function() { + return g || n.error(e + " was not called"), g[0] + }, b.dataTypes[0] = "json", f = a[e], a[e] = function() { + g = arguments + }, d.always(function() { + a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, Fb.push(e)), g && n.isFunction(f) && f(g[0]), g = f = void 0 + }), "script") : void 0 + }), n.parseHTML = function(a, b, c) { + if (!a || "string" != typeof a) return null; + "boolean" == typeof b && (c = b, b = !1), b = b || l; + var d = v.exec(a), + e = !c && []; + return d ? [b.createElement(d[1])] : (d = n.buildFragment([a], b, e), e && e.length && n(e).remove(), n.merge([], d.childNodes)) + }; + var Hb = n.fn.load; + n.fn.load = function(a, b, c) { + if ("string" != typeof a && Hb) return Hb.apply(this, arguments); + var d, e, f, g = this, + h = a.indexOf(" "); + return h >= 0 && (d = n.trim(a.slice(h)), a = a.slice(0, h)), n.isFunction(b) ? (c = b, b = void 0) : b && "object" == typeof b && (e = "POST"), g.length > 0 && n.ajax({ + url: a, + type: e, + dataType: "html", + data: b + }).done(function(a) { + f = arguments, g.html(d ? n("<div>").append(n.parseHTML(a)).find(d) : a) + }).complete(c && function(a, b) { + g.each(c, f || [a.responseText, b, a]) + }), this + }, n.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(a, b) { + n.fn[b] = function(a) { + return this.on(b, a) + } + }), n.expr.filters.animated = function(a) { + return n.grep(n.timers, function(b) { + return a === b.elem + }).length + }; + var Ib = a.document.documentElement; + + function Jb(a) { + return n.isWindow(a) ? a : 9 === a.nodeType && a.defaultView + } + n.offset = { + setOffset: function(a, b, c) { + var d, e, f, g, h, i, j, k = n.css(a, "position"), + l = n(a), + m = {}; + "static" === k && (a.style.position = "relative"), h = l.offset(), f = n.css(a, "top"), i = n.css(a, "left"), j = ("absolute" === k || "fixed" === k) && (f + i).indexOf("auto") > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), n.isFunction(b) && (b = b.call(a, c, h)), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), "using" in b ? b.using.call(a, m) : l.css(m) + } + }, n.fn.extend({ + offset: function(a) { + if (arguments.length) return void 0 === a ? this : this.each(function(b) { + n.offset.setOffset(this, a, b) + }); + var b, c, d = this[0], + e = { + top: 0, + left: 0 + }, + f = d && d.ownerDocument; + if (f) return b = f.documentElement, n.contains(b, d) ? (typeof d.getBoundingClientRect !== U && (e = d.getBoundingClientRect()), c = Jb(f), { + top: e.top + c.pageYOffset - b.clientTop, + left: e.left + c.pageXOffset - b.clientLeft + }) : e + }, + position: function() { + if (this[0]) { + var a, b, c = this[0], + d = { + top: 0, + left: 0 + }; + return "fixed" === n.css(c, "position") ? b = c.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), n.nodeName(a[0], "html") || (d = a.offset()), d.top += n.css(a[0], "borderTopWidth", !0), d.left += n.css(a[0], "borderLeftWidth", !0)), { + top: b.top - d.top - n.css(c, "marginTop", !0), + left: b.left - d.left - n.css(c, "marginLeft", !0) + } + } + }, + offsetParent: function() { + return this.map(function() { + var a = this.offsetParent || Ib; + while (a && !n.nodeName(a, "html") && "static" === n.css(a, "position")) a = a.offsetParent; + return a || Ib + }) + } + }), n.each({ + scrollLeft: "pageXOffset", + scrollTop: "pageYOffset" + }, function(b, c) { + var d = "pageYOffset" === c; + n.fn[b] = function(e) { + return J(this, function(b, e, f) { + var g = Jb(b); + return void 0 === f ? g ? g[c] : b[e] : void(g ? g.scrollTo(d ? a.pageXOffset : f, d ? f : a.pageYOffset) : b[e] = f) + }, b, e, arguments.length, null) + } + }), n.each(["top", "left"], function(a, b) { + n.cssHooks[b] = ya(k.pixelPosition, function(a, c) { + return c ? (c = xa(a, b), va.test(c) ? n(a).position()[b] + "px" : c) : void 0 + }) + }), n.each({ + Height: "height", + Width: "width" + }, function(a, b) { + n.each({ + padding: "inner" + a, + content: b, + "": "outer" + a + }, function(c, d) { + n.fn[d] = function(d, e) { + var f = arguments.length && (c || "boolean" != typeof d), + g = c || (d === !0 || e === !0 ? "margin" : "border"); + return J(this, function(b, c, d) { + var e; + return n.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? n.css(b, c, g) : n.style(b, c, d, g) + }, b, f ? d : void 0, f, null) + } + }) + }), n.fn.size = function() { + return this.length + }, n.fn.andSelf = n.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { + return n + }); + var Kb = a.jQuery, + Lb = a.$; + return n.noConflict = function(b) { + return a.$ === n && (a.$ = Lb), b && a.jQuery === n && (a.jQuery = Kb), n + }, typeof b === U && (a.jQuery = a.$ = n), n +}); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/juitabs.js b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/juitabs.js new file mode 100644 index 0000000000000000000000000000000000000000..d8db09e0368e0da58fa920b4a7fe662d964eeb7a --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/templates/g5_helium/js/juitabs.js @@ -0,0 +1,3864 @@ +/*! jQuery UI - v1.11.4 - 2016-01-06 + * http://jqueryui.com + * Includes: core.js, widget.js, mouse.js, position.js, tabs.js, effect.js, effect-fade.js, effect-slide.js + * Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(factory) { + if (typeof define === "function" && define.amd) { + + // AMD. Register as an anonymous module. + define(["jquery"], factory); + } else { + + // Browser globals + factory(jQuery); + } +}(function($) { + /*! + * jQuery UI Core 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + + + // $.ui might exist from components with no dependencies, e.g., $.ui.position + $.ui = $.ui || {}; + + $.extend($.ui, { + version: "1.11.4", + + keyCode: { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 + } + }); + + // plugins + $.fn.extend({ + scrollParent: function(includeHidden) { + var position = this.css("position"), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter(function() { + var parent = $(this); + if (excludeStaticParent && parent.css("position") === "static") { + return false; + } + return overflowRegex.test(parent.css("overflow") + parent.css("overflow-y") + parent.css("overflow-x")); + }).eq(0); + + return position === "fixed" || !scrollParent.length ? $(this[0].ownerDocument || document) : scrollParent; + }, + + uniqueId: (function() { + var uuid = 0; + + return function() { + return this.each(function() { + if (!this.id) { + this.id = "ui-id-" + (++uuid); + } + }); + }; + })(), + + removeUniqueId: function() { + return this.each(function() { + if (/^ui-id-\d+$/.test(this.id)) { + $(this).removeAttr("id"); + } + }); + } + }); + + // selectors + function focusable(element, isTabIndexNotNaN) { + var map, mapName, img, + nodeName = element.nodeName.toLowerCase(); + if ("area" === nodeName) { + map = element.parentNode; + mapName = map.name; + if (!element.href || !mapName || map.nodeName.toLowerCase() !== "map") { + return false; + } + img = $("img[usemap='#" + mapName + "']")[0]; + return !!img && visible(img); + } + return (/^(input|select|textarea|button|object)$/.test(nodeName) ? + !element.disabled : + "a" === nodeName ? + element.href || isTabIndexNotNaN : + isTabIndexNotNaN) && + // the element and all of its ancestors must be visible + visible(element); + } + + function visible(element) { + return $.expr.filters.visible(element) && + !$(element).parents().addBack().filter(function() { + return $.css(this, "visibility") === "hidden"; + }).length; + } + + $.extend($.expr[":"], { + data: $.expr.createPseudo ? + $.expr.createPseudo(function(dataName) { + return function(elem) { + return !!$.data(elem, dataName); + }; + }) : + // support: jQuery <1.8 + function(elem, i, match) { + return !!$.data(elem, match[3]); + }, + + focusable: function(element) { + return focusable(element, !isNaN($.attr(element, "tabindex"))); + }, + + tabbable: function(element) { + var tabIndex = $.attr(element, "tabindex"), + isTabIndexNaN = isNaN(tabIndex); + return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN); + } + }); + + // support: jQuery <1.8 + if (!$("<a>").outerWidth(1).jquery) { + $.each(["Width", "Height"], function(i, name) { + var side = name === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce(elem, size, border, margin) { + $.each(side, function() { + size -= parseFloat($.css(elem, "padding" + this)) || 0; + if (border) { + size -= parseFloat($.css(elem, "border" + this + "Width")) || 0; + } + if (margin) { + size -= parseFloat($.css(elem, "margin" + this)) || 0; + } + }); + return size; + } + + $.fn["inner" + name] = function(size) { + if (size === undefined) { + return orig["inner" + name].call(this); + } + + return this.each(function() { + $(this).css(type, reduce(this, size) + "px"); + }); + }; + + $.fn["outer" + name] = function(size, margin) { + if (typeof size !== "number") { + return orig["outer" + name].call(this, size); + } + + return this.each(function() { + $(this).css(type, reduce(this, size, true, margin) + "px"); + }); + }; + }); + } + + // support: jQuery <1.8 + if (!$.fn.addBack) { + $.fn.addBack = function(selector) { + return this.add(selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + }; + } + + // support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) + if ($("<a>").data("a-b", "a").removeData("a-b").data("a-b")) { + $.fn.removeData = (function(removeData) { + return function(key) { + if (arguments.length) { + return removeData.call(this, $.camelCase(key)); + } else { + return removeData.call(this); + } + }; + })($.fn.removeData); + } + + // deprecated + $.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()); + + $.fn.extend({ + focus: (function(orig) { + return function(delay, fn) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $(elem).focus(); + if (fn) { + fn.call(elem); + } + }, delay); + }) : + orig.apply(this, arguments); + }; + })($.fn.focus), + + disableSelection: (function() { + var eventType = "onselectstart" in document.createElement("div") ? + "selectstart" : + "mousedown"; + + return function() { + return this.bind(eventType + ".ui-disableSelection", function(event) { + event.preventDefault(); + }); + }; + })(), + + enableSelection: function() { + return this.unbind(".ui-disableSelection"); + }, + + zIndex: function(zIndex) { + if (zIndex !== undefined) { + return this.css("zIndex", zIndex); + } + + if (this.length) { + var elem = $(this[0]), + position, value; + while (elem.length && elem[0] !== document) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css("position"); + if (position === "absolute" || position === "relative" || position === "fixed") { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> + value = parseInt(elem.css("zIndex"), 10); + if (!isNaN(value) && value !== 0) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + } + }); + + // $.ui.plugin is deprecated. Use $.widget() extensions instead. + $.ui.plugin = { + add: function(module, option, set) { + var i, + proto = $.ui[module].prototype; + for (i in set) { + proto.plugins[i] = proto.plugins[i] || []; + proto.plugins[i].push([option, set[i]]); + } + }, + call: function(instance, name, args, allowDisconnected) { + var i, + set = instance.plugins[name]; + + if (!set) { + return; + } + + if (!allowDisconnected && (!instance.element[0].parentNode || instance.element[0].parentNode.nodeType === 11)) { + return; + } + + for (i = 0; i < set.length; i++) { + if (instance.options[set[i][0]]) { + set[i][1].apply(instance.element, args); + } + } + } + }; + + + /*! + * jQuery UI Widget 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ + + + var widget_uuid = 0, + widget_slice = Array.prototype.slice; + + $.cleanData = (function(orig) { + return function(elems) { + var events, elem, i; + for (i = 0; + (elem = elems[i]) != null; i++) { + try { + + // Only trigger remove when necessary to save time + events = $._data(elem, "events"); + if (events && events.remove) { + $(elem).triggerHandler("remove"); + } + + // http://bugs.jquery.com/ticket/8235 + } catch (e) {} + } + orig(elems); + }; + })($.cleanData); + + $.widget = function(name, base, prototype) { + var fullName, existingConstructor, constructor, basePrototype, + // proxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + proxiedPrototype = {}, + namespace = name.split(".")[0]; + + name = name.split(".")[1]; + fullName = namespace + "-" + name; + + if (!prototype) { + prototype = base; + base = $.Widget; + } + + // create selector for plugin + $.expr[":"][fullName.toLowerCase()] = function(elem) { + return !!$.data(elem, fullName); + }; + + $[namespace] = $[namespace] || {}; + existingConstructor = $[namespace][name]; + constructor = $[namespace][name] = function(options, element) { + // allow instantiation without "new" keyword + if (!this._createWidget) { + return new constructor(options, element); + } + + // allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if (arguments.length) { + this._createWidget(options, element); + } + }; + // extend with the existing constructor to carry over any static properties + $.extend(constructor, existingConstructor, { + version: prototype.version, + // copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend({}, prototype), + // track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + }); + + basePrototype = new base(); + // we need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend({}, basePrototype.options); + $.each(prototype, function(prop, value) { + if (!$.isFunction(value)) { + proxiedPrototype[prop] = value; + return; + } + proxiedPrototype[prop] = (function() { + var _super = function() { + return base.prototype[prop].apply(this, arguments); + }, + _superApply = function(args) { + return base.prototype[prop].apply(this, args); + }; + return function() { + var __super = this._super, + __superApply = this._superApply, + returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply(this, arguments); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + })(); + }); + constructor.prototype = $.widget.extend(basePrototype, { + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + }); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if (existingConstructor) { + $.each(existingConstructor._childConstructors, function(i, child) { + var childPrototype = child.prototype; + + // redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget(childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto); + }); + // remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push(constructor); + } + + $.widget.bridge(name, constructor); + + return constructor; + }; + + $.widget.extend = function(target) { + var input = widget_slice.call(arguments, 1), + inputIndex = 0, + inputLength = input.length, + key, + value; + for (; inputIndex < inputLength; inputIndex++) { + for (key in input[inputIndex]) { + value = input[inputIndex][key]; + if (input[inputIndex].hasOwnProperty(key) && value !== undefined) { + // Clone objects + if ($.isPlainObject(value)) { + target[key] = $.isPlainObject(target[key]) ? + $.widget.extend({}, target[key], value) : + // Don't extend strings, arrays, etc. with objects + $.widget.extend({}, value); + // Copy everything else by reference + } else { + target[key] = value; + } + } + } + } + return target; + }; + + $.widget.bridge = function(name, object) { + var fullName = object.prototype.widgetFullName || name; + $.fn[name] = function(options) { + var isMethodCall = typeof options === "string", + args = widget_slice.call(arguments, 1), + returnValue = this; + + if (isMethodCall) { + this.each(function() { + var methodValue, + instance = $.data(this, fullName); + if (options === "instance") { + returnValue = instance; + return false; + } + if (!instance) { + return $.error("cannot call methods on " + name + " prior to initialization; " + + "attempted to call method '" + options + "'"); + } + if (!$.isFunction(instance[options]) || options.charAt(0) === "_") { + return $.error("no such method '" + options + "' for " + name + " widget instance"); + } + methodValue = instance[options].apply(instance, args); + if (methodValue !== instance && methodValue !== undefined) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack(methodValue.get()) : + methodValue; + return false; + } + }); + } else { + + // Allow multiple hashes to be passed on init + if (args.length) { + options = $.widget.extend.apply(null, [options].concat(args)); + } + + this.each(function() { + var instance = $.data(this, fullName); + if (instance) { + instance.option(options || {}); + if (instance._init) { + instance._init(); + } + } else { + $.data(this, fullName, new object(options, this)); + } + }); + } + + return returnValue; + }; + }; + + $.Widget = function( /* options, element */ ) {}; + $.Widget._childConstructors = []; + + $.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "<div>", + options: { + disabled: false, + + // callbacks + create: null + }, + _createWidget: function(options, element) { + element = $(element || this.defaultElement || this)[0]; + this.element = $(element); + this.uuid = widget_uuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + + if (element !== this) { + $.data(element, this.widgetFullName, this); + this._on(true, this.element, { + remove: function(event) { + if (event.target === element) { + this.destroy(); + } + } + }); + this.document = $(element.style ? + // element within the document + element.ownerDocument : + // element is window or document + element.document || element); + this.window = $(this.document[0].defaultView || this.document[0].parentWindow); + } + + this.options = $.widget.extend({}, + this.options, + this._getCreateOptions(), + options); + + this._create(); + this._trigger("create", null, this._getCreateEventData()); + this._init(); + }, + _getCreateOptions: $.noop, + _getCreateEventData: $.noop, + _create: $.noop, + _init: $.noop, + + destroy: function() { + this._destroy(); + // we can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .unbind(this.eventNamespace) + .removeData(this.widgetFullName) + // support: jquery <1.6.3 + // http://bugs.jquery.com/ticket/9413 + .removeData($.camelCase(this.widgetFullName)); + this.widget() + .unbind(this.eventNamespace) + .removeAttr("aria-disabled") + .removeClass( + this.widgetFullName + "-disabled " + + "ui-state-disabled"); + + // clean up events and states + this.bindings.unbind(this.eventNamespace); + this.hoverable.removeClass("ui-state-hover"); + this.focusable.removeClass("ui-state-focus"); + }, + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function(key, value) { + var options = key, + parts, + curOption, + i; + + if (arguments.length === 0) { + // don't return a reference to the internal hash + return $.widget.extend({}, this.options); + } + + if (typeof key === "string") { + // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split("."); + key = parts.shift(); + if (parts.length) { + curOption = options[key] = $.widget.extend({}, this.options[key]); + for (i = 0; i < parts.length - 1; i++) { + curOption[parts[i]] = curOption[parts[i]] || {}; + curOption = curOption[parts[i]]; + } + key = parts.pop(); + if (arguments.length === 1) { + return curOption[key] === undefined ? null : curOption[key]; + } + curOption[key] = value; + } else { + if (arguments.length === 1) { + return this.options[key] === undefined ? null : this.options[key]; + } + options[key] = value; + } + } + + this._setOptions(options); + + return this; + }, + _setOptions: function(options) { + var key; + + for (key in options) { + this._setOption(key, options[key]); + } + + return this; + }, + _setOption: function(key, value) { + this.options[key] = value; + + if (key === "disabled") { + this.widget() + .toggleClass(this.widgetFullName + "-disabled", !!value); + + // If the widget is becoming disabled, then nothing is interactive + if (value) { + this.hoverable.removeClass("ui-state-hover"); + this.focusable.removeClass("ui-state-focus"); + } + } + + return this; + }, + + enable: function() { + return this._setOptions({ + disabled: false + }); + }, + disable: function() { + return this._setOptions({ + disabled: true + }); + }, + + _on: function(suppressDisabledCheck, element, handlers) { + var delegateElement, + instance = this; + + // no suppressDisabledCheck flag, shuffle arguments + if (typeof suppressDisabledCheck !== "boolean") { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // no element argument, shuffle and use this.element + if (!handlers) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + element = delegateElement = $(element); + this.bindings = this.bindings.add(element); + } + + $.each(handlers, function(event, handler) { + function handlerProxy() { + // allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if (!suppressDisabledCheck && + (instance.options.disabled === true || + $(this).hasClass("ui-state-disabled"))) { + return; + } + return (typeof handler === "string" ? instance[handler] : handler) + .apply(instance, arguments); + } + + // copy the guid so direct unbinding works + if (typeof handler !== "string") { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match(/^([\w:-]*)\s*(.*)$/), + eventName = match[1] + instance.eventNamespace, + selector = match[2]; + if (selector) { + delegateElement.delegate(selector, eventName, handlerProxy); + } else { + element.bind(eventName, handlerProxy); + } + }); + }, + + _off: function(element, eventName) { + eventName = (eventName || "").split(" ").join(this.eventNamespace + " ") + + this.eventNamespace; + element.unbind(eventName).undelegate(eventName); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $(this.bindings.not(element).get()); + this.focusable = $(this.focusable.not(element).get()); + this.hoverable = $(this.hoverable.not(element).get()); + }, + + _delay: function(handler, delay) { + function handlerProxy() { + return (typeof handler === "string" ? instance[handler] : handler) + .apply(instance, arguments); + } + var instance = this; + return setTimeout(handlerProxy, delay || 0); + }, + + _hoverable: function(element) { + this.hoverable = this.hoverable.add(element); + this._on(element, { + mouseenter: function(event) { + $(event.currentTarget).addClass("ui-state-hover"); + }, + mouseleave: function(event) { + $(event.currentTarget).removeClass("ui-state-hover"); + } + }); + }, + + _focusable: function(element) { + this.focusable = this.focusable.add(element); + this._on(element, { + focusin: function(event) { + $(event.currentTarget).addClass("ui-state-focus"); + }, + focusout: function(event) { + $(event.currentTarget).removeClass("ui-state-focus"); + } + }); + }, + + _trigger: function(type, event, data) { + var prop, orig, + callback = this.options[type]; + + data = data || {}; + event = $.Event(event); + event.type = (type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type).toLowerCase(); + // the original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[0]; + + // copy original event properties over to the new event + orig = event.originalEvent; + if (orig) { + for (prop in orig) { + if (!(prop in event)) { + event[prop] = orig[prop]; + } + } + } + + this.element.trigger(event, data); + return !($.isFunction(callback) && + callback.apply(this.element[0], [event].concat(data)) === false || + event.isDefaultPrevented()); + } + }; + + $.each({ + show: "fadeIn", + hide: "fadeOut" + }, function(method, defaultEffect) { + $.Widget.prototype["_" + method] = function(element, options, callback) { + if (typeof options === "string") { + options = { + effect: options + }; + } + var hasOptions, + effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + options = options || {}; + if (typeof options === "number") { + options = { + duration: options + }; + } + hasOptions = !$.isEmptyObject(options); + options.complete = callback; + if (options.delay) { + element.delay(options.delay); + } + if (hasOptions && $.effects && $.effects.effect[effectName]) { + element[method](options); + } else if (effectName !== method && element[effectName]) { + element[effectName](options.duration, options.easing, callback); + } else { + element.queue(function(next) { + $(this)[method](); + if (callback) { + callback.call(element[0]); + } + next(); + }); + } + }; + }); + + var widget = $.widget; + + + /*! + * jQuery UI Mouse 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/mouse/ + */ + + + var mouseHandled = false; + $(document).mouseup(function() { + mouseHandled = false; + }); + + var mouse = $.widget("ui.mouse", { + version: "1.11.4", + options: { + cancel: "input,textarea,button,select,option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var that = this; + + this.element + .bind("mousedown." + this.widgetName, function(event) { + return that._mouseDown(event); + }) + .bind("click." + this.widgetName, function(event) { + if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { + $.removeData(event.target, that.widgetName + ".preventClickEvent"); + event.stopImmediatePropagation(); + return false; + } + }); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind("." + this.widgetName); + if (this._mouseMoveDelegate) { + this.document + .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); + } + }, + + _mouseDown: function(event) { + // don't let more than one widget handle mouseStart + if (mouseHandled) { + return; + } + + this._mouseMoved = false; + + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(event)); + + this._mouseDownEvent = event; + + var that = this, + btnIsLeft = (event.which === 1), + // event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + that.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = (this._mouseStart(event) !== false); + if (!this._mouseStarted) { + event.preventDefault(); + return true; + } + } + + // Click event may never have fired (Gecko & Opera) + if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { + $.removeData(event.target, this.widgetName + ".preventClickEvent"); + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(event) { + return that._mouseMove(event); + }; + this._mouseUpDelegate = function(event) { + return that._mouseUp(event); + }; + + this.document + .bind("mousemove." + this.widgetName, this._mouseMoveDelegate) + .bind("mouseup." + this.widgetName, this._mouseUpDelegate); + + event.preventDefault(); + + mouseHandled = true; + return true; + }, + + _mouseMove: function(event) { + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if (this._mouseMoved) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.ui.ie && (!document.documentMode || document.documentMode < 9) && !event.button) { + return this._mouseUp(event); + + // Iframe mouseup check - mouseup occurred in another document + } else if (!event.which) { + return this._mouseUp(event); + } + } + + if (event.which || event.button) { + this._mouseMoved = true; + } + + if (this._mouseStarted) { + this._mouseDrag(event); + return event.preventDefault(); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, event) !== false); + (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(event) { + this.document + .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); + + if (this._mouseStarted) { + this._mouseStarted = false; + + if (event.target === this._mouseDownEvent.target) { + $.data(event.target, this.widgetName + ".preventClickEvent", true); + } + + this._mouseStop(event); + } + + mouseHandled = false; + return false; + }, + + _mouseDistanceMet: function(event) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - event.pageX), + Math.abs(this._mouseDownEvent.pageY - event.pageY) + ) >= this.options.distance); + }, + + _mouseDelayMet: function( /* event */ ) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function( /* event */ ) {}, + _mouseDrag: function( /* event */ ) {}, + _mouseStop: function( /* event */ ) {}, + _mouseCapture: function( /* event */ ) { + return true; + } + }); + + + /*! + * jQuery UI Position 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + + (function() { + + $.ui = $.ui || {}; + + var cachedScrollbarWidth, supportsOffsetFractions, + max = Math.max, + abs = Math.abs, + round = Math.round, + rhorizontal = /left|center|right/, + rvertical = /top|center|bottom/, + roffset = /[\+\-]\d+(\.[\d]+)?%?/, + rposition = /^\w+/, + rpercent = /%$/, + _position = $.fn.position; + + function getOffsets(offsets, width, height) { + return [ + parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1), + parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1) + ]; + } + + function parseCss(element, property) { + return parseInt($.css(element, property), 10) || 0; + } + + function getDimensions(elem) { + var raw = elem[0]; + if (raw.nodeType === 9) { + return { + width: elem.width(), + height: elem.height(), + offset: { + top: 0, + left: 0 + } + }; + } + if ($.isWindow(raw)) { + return { + width: elem.width(), + height: elem.height(), + offset: { + top: elem.scrollTop(), + left: elem.scrollLeft() + } + }; + } + if (raw.preventDefault) { + return { + width: 0, + height: 0, + offset: { + top: raw.pageY, + left: raw.pageX + } + }; + } + return { + width: elem.outerWidth(), + height: elem.outerHeight(), + offset: elem.offset() + }; + } + + $.position = { + scrollbarWidth: function() { + if (cachedScrollbarWidth !== undefined) { + return cachedScrollbarWidth; + } + var w1, w2, + div = $("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), + innerDiv = div.children()[0]; + + $("body").append(div); + w1 = innerDiv.offsetWidth; + div.css("overflow", "scroll"); + + w2 = innerDiv.offsetWidth; + + if (w1 === w2) { + w2 = div[0].clientWidth; + } + + div.remove(); + + return (cachedScrollbarWidth = w1 - w2); + }, + getScrollInfo: function(within) { + var overflowX = within.isWindow || within.isDocument ? "" : + within.element.css("overflow-x"), + overflowY = within.isWindow || within.isDocument ? "" : + within.element.css("overflow-y"), + hasOverflowX = overflowX === "scroll" || + (overflowX === "auto" && within.width < within.element[0].scrollWidth), + hasOverflowY = overflowY === "scroll" || + (overflowY === "auto" && within.height < within.element[0].scrollHeight); + return { + width: hasOverflowY ? $.position.scrollbarWidth() : 0, + height: hasOverflowX ? $.position.scrollbarWidth() : 0 + }; + }, + getWithinInfo: function(element) { + var withinElement = $(element || window), + isWindow = $.isWindow(withinElement[0]), + isDocument = !!withinElement[0] && withinElement[0].nodeType === 9; + return { + element: withinElement, + isWindow: isWindow, + isDocument: isDocument, + offset: withinElement.offset() || { + left: 0, + top: 0 + }, + scrollLeft: withinElement.scrollLeft(), + scrollTop: withinElement.scrollTop(), + + // support: jQuery 1.6.x + // jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows + width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(), + height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight() + }; + } + }; + + $.fn.position = function(options) { + if (!options || !options.of) { + return _position.apply(this, arguments); + } + + // make a copy, we don't want to modify arguments + options = $.extend({}, options); + + var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, + target = $(options.of), + within = $.position.getWithinInfo(options.within), + scrollInfo = $.position.getScrollInfo(within), + collision = (options.collision || "flip").split(" "), + offsets = {}; + + dimensions = getDimensions(target); + if (target[0].preventDefault) { + // force left top to allow flipping + options.at = "left top"; + } + targetWidth = dimensions.width; + targetHeight = dimensions.height; + targetOffset = dimensions.offset; + // clone to reuse original targetOffset later + basePosition = $.extend({}, targetOffset); + + // force my and at to have valid horizontal and vertical positions + // if a value is missing or invalid, it will be converted to center + $.each(["my", "at"], function() { + var pos = (options[this] || "").split(" "), + horizontalOffset, + verticalOffset; + + if (pos.length === 1) { + pos = rhorizontal.test(pos[0]) ? + pos.concat(["center"]) : + rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"]; + } + pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center"; + pos[1] = rvertical.test(pos[1]) ? pos[1] : "center"; + + // calculate offsets + horizontalOffset = roffset.exec(pos[0]); + verticalOffset = roffset.exec(pos[1]); + offsets[this] = [ + horizontalOffset ? horizontalOffset[0] : 0, + verticalOffset ? verticalOffset[0] : 0 + ]; + + // reduce to just the positions without the offsets + options[this] = [ + rposition.exec(pos[0])[0], + rposition.exec(pos[1])[0] + ]; + }); + + // normalize collision option + if (collision.length === 1) { + collision[1] = collision[0]; + } + + if (options.at[0] === "right") { + basePosition.left += targetWidth; + } else if (options.at[0] === "center") { + basePosition.left += targetWidth / 2; + } + + if (options.at[1] === "bottom") { + basePosition.top += targetHeight; + } else if (options.at[1] === "center") { + basePosition.top += targetHeight / 2; + } + + atOffset = getOffsets(offsets.at, targetWidth, targetHeight); + basePosition.left += atOffset[0]; + basePosition.top += atOffset[1]; + + return this.each(function() { + var collisionPosition, using, + elem = $(this), + elemWidth = elem.outerWidth(), + elemHeight = elem.outerHeight(), + marginLeft = parseCss(this, "marginLeft"), + marginTop = parseCss(this, "marginTop"), + collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + scrollInfo.width, + collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + scrollInfo.height, + position = $.extend({}, basePosition), + myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight()); + + if (options.my[0] === "right") { + position.left -= elemWidth; + } else if (options.my[0] === "center") { + position.left -= elemWidth / 2; + } + + if (options.my[1] === "bottom") { + position.top -= elemHeight; + } else if (options.my[1] === "center") { + position.top -= elemHeight / 2; + } + + position.left += myOffset[0]; + position.top += myOffset[1]; + + // if the browser doesn't support fractions, then round for consistent results + if (!supportsOffsetFractions) { + position.left = round(position.left); + position.top = round(position.top); + } + + collisionPosition = { + marginLeft: marginLeft, + marginTop: marginTop + }; + + $.each(["left", "top"], function(i, dir) { + if ($.ui.position[collision[i]]) { + $.ui.position[collision[i]][dir](position, { + targetWidth: targetWidth, + targetHeight: targetHeight, + elemWidth: elemWidth, + elemHeight: elemHeight, + collisionPosition: collisionPosition, + collisionWidth: collisionWidth, + collisionHeight: collisionHeight, + offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]], + my: options.my, + at: options.at, + within: within, + elem: elem + }); + } + }); + + if (options.using) { + // adds feedback as second argument to using callback, if present + using = function(props) { + var left = targetOffset.left - position.left, + right = left + targetWidth - elemWidth, + top = targetOffset.top - position.top, + bottom = top + targetHeight - elemHeight, + feedback = { + target: { + element: target, + left: targetOffset.left, + top: targetOffset.top, + width: targetWidth, + height: targetHeight + }, + element: { + element: elem, + left: position.left, + top: position.top, + width: elemWidth, + height: elemHeight + }, + horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", + vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" + }; + if (targetWidth < elemWidth && abs(left + right) < targetWidth) { + feedback.horizontal = "center"; + } + if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) { + feedback.vertical = "middle"; + } + if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) { + feedback.important = "horizontal"; + } else { + feedback.important = "vertical"; + } + options.using.call(this, props, feedback); + }; + } + + elem.offset($.extend(position, { + using: using + })); + }); + }; + + $.ui.position = { + fit: { + left: function(position, data) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, + outerWidth = within.width, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = withinOffset - collisionPosLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, + newOverRight; + + // element is wider than within + if (data.collisionWidth > outerWidth) { + // element is initially over the left side of within + if (overLeft > 0 && overRight <= 0) { + newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; + position.left += overLeft - newOverRight; + // element is initially over right side of within + } else if (overRight > 0 && overLeft <= 0) { + position.left = withinOffset; + // element is initially over both left and right sides of within + } else { + if (overLeft > overRight) { + position.left = withinOffset + outerWidth - data.collisionWidth; + } else { + position.left = withinOffset; + } + } + // too far left -> align with left edge + } else if (overLeft > 0) { + position.left += overLeft; + // too far right -> align with right edge + } else if (overRight > 0) { + position.left -= overRight; + // adjust based on position and margin + } else { + position.left = max(position.left - collisionPosLeft, position.left); + } + }, + top: function(position, data) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollTop : within.offset.top, + outerHeight = data.within.height, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = withinOffset - collisionPosTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, + newOverBottom; + + // element is taller than within + if (data.collisionHeight > outerHeight) { + // element is initially over the top of within + if (overTop > 0 && overBottom <= 0) { + newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; + position.top += overTop - newOverBottom; + // element is initially over bottom of within + } else if (overBottom > 0 && overTop <= 0) { + position.top = withinOffset; + // element is initially over both top and bottom of within + } else { + if (overTop > overBottom) { + position.top = withinOffset + outerHeight - data.collisionHeight; + } else { + position.top = withinOffset; + } + } + // too far up -> align with top + } else if (overTop > 0) { + position.top += overTop; + // too far down -> align with bottom edge + } else if (overBottom > 0) { + position.top -= overBottom; + // adjust based on position and margin + } else { + position.top = max(position.top - collisionPosTop, position.top); + } + } + }, + flip: { + left: function(position, data) { + var within = data.within, + withinOffset = within.offset.left + within.scrollLeft, + outerWidth = within.width, + offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = collisionPosLeft - offsetLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, + myOffset = data.my[0] === "left" ? + -data.elemWidth : + data.my[0] === "right" ? + data.elemWidth : + 0, + atOffset = data.at[0] === "left" ? + data.targetWidth : + data.at[0] === "right" ? + -data.targetWidth : + 0, + offset = -2 * data.offset[0], + newOverRight, + newOverLeft; + + if (overLeft < 0) { + newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; + if (newOverRight < 0 || newOverRight < abs(overLeft)) { + position.left += myOffset + atOffset + offset; + } + } else if (overRight > 0) { + newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; + if (newOverLeft > 0 || abs(newOverLeft) < overRight) { + position.left += myOffset + atOffset + offset; + } + } + }, + top: function(position, data) { + var within = data.within, + withinOffset = within.offset.top + within.scrollTop, + outerHeight = within.height, + offsetTop = within.isWindow ? within.scrollTop : within.offset.top, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = collisionPosTop - offsetTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, + top = data.my[1] === "top", + myOffset = top ? + -data.elemHeight : + data.my[1] === "bottom" ? + data.elemHeight : + 0, + atOffset = data.at[1] === "top" ? + data.targetHeight : + data.at[1] === "bottom" ? + -data.targetHeight : + 0, + offset = -2 * data.offset[1], + newOverTop, + newOverBottom; + if (overTop < 0) { + newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; + if (newOverBottom < 0 || newOverBottom < abs(overTop)) { + position.top += myOffset + atOffset + offset; + } + } else if (overBottom > 0) { + newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; + if (newOverTop > 0 || abs(newOverTop) < overBottom) { + position.top += myOffset + atOffset + offset; + } + } + } + }, + flipfit: { + left: function() { + $.ui.position.flip.left.apply(this, arguments); + $.ui.position.fit.left.apply(this, arguments); + }, + top: function() { + $.ui.position.flip.top.apply(this, arguments); + $.ui.position.fit.top.apply(this, arguments); + } + } + }; + + // fraction support test + (function() { + var testElement, testElementParent, testElementStyle, offsetLeft, i, + body = document.getElementsByTagName("body")[0], + div = document.createElement("div"); + + //Create a "fake body" for testing based on method used in jQuery.support + testElement = document.createElement(body ? "div" : "body"); + testElementStyle = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }; + if (body) { + $.extend(testElementStyle, { + position: "absolute", + left: "-1000px", + top: "-1000px" + }); + } + for (i in testElementStyle) { + testElement.style[i] = testElementStyle[i]; + } + testElement.appendChild(div); + testElementParent = body || document.documentElement; + testElementParent.insertBefore(testElement, testElementParent.firstChild); + + div.style.cssText = "position: absolute; left: 10.7432222px;"; + + offsetLeft = $(div).offset().left; + supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11; + + testElement.innerHTML = ""; + testElementParent.removeChild(testElement); + })(); + + })(); + + var position = $.ui.position; + + + /*! + * jQuery UI Tabs 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/tabs/ + */ + + + var tabs = $.widget("ui.tabs", { + version: "1.11.4", + delay: 300, + options: { + active: null, + collapsible: false, + event: "click", + heightStyle: "content", + hide: null, + show: null, + + // callbacks + activate: null, + beforeActivate: null, + beforeLoad: null, + load: null + }, + + _isLocal: (function() { + var rhash = /\?.*|#.*$/; + + return function(anchor) { + var anchorUrl, locationUrl; + + // support: IE7 + // IE7 doesn't normalize the href property when set via script (#9317) + anchor = anchor.cloneNode(false); + + anchorUrl = anchor.href.replace(rhash, ""); + locationUrl = location.href.replace(rhash, ""); + + // decoding may throw an error if the URL isn't UTF-8 (#9518) + try { + anchorUrl = decodeURIComponent(anchorUrl); + } catch (error) {} + try { + locationUrl = decodeURIComponent(locationUrl); + } catch (error) {} + + return anchor.hash.length > 1 && anchorUrl === locationUrl; + }; + })(), + + _create: function() { + var that = this, + options = this.options; + + this.running = false; + + this.element + .addClass("ui-tabs ui-widget ui-widget-content ui-corner-all") + .toggleClass("ui-tabs-collapsible", options.collapsible); + + this._processTabs(); + options.active = this._initialActive(); + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + if ($.isArray(options.disabled)) { + options.disabled = $.unique(options.disabled.concat( + $.map(this.tabs.filter(".ui-state-disabled"), function(li) { + return that.tabs.index(li); + }) + )).sort(); + } + + // check for length avoids error when initializing empty list + if (this.options.active !== false && this.anchors.length) { + this.active = this._findActive(options.active); + } else { + this.active = $(); + } + + this._refresh(); + + if (this.active.length) { + this.load(options.active); + } + }, + + _initialActive: function() { + var active = this.options.active, + collapsible = this.options.collapsible, + locationHash = location.hash.substring(1); + + if (active === null) { + // check the fragment identifier in the URL + if (locationHash) { + this.tabs.each(function(i, tab) { + if ($(tab).attr("aria-controls") === locationHash) { + active = i; + return false; + } + }); + } + + // check for a tab marked active via a class + if (active === null) { + active = this.tabs.index(this.tabs.filter(".ui-tabs-active")); + } + + // no active tab, set to false + if (active === null || active === -1) { + active = this.tabs.length ? 0 : false; + } + } + + // handle numbers: negative, out of range + if (active !== false) { + active = this.tabs.index(this.tabs.eq(active)); + if (active === -1) { + active = collapsible ? false : 0; + } + } + + // don't allow collapsible: false and active: false + if (!collapsible && active === false && this.anchors.length) { + active = 0; + } + + return active; + }, + + _getCreateEventData: function() { + return { + tab: this.active, + panel: !this.active.length ? $() : this._getPanelForTab(this.active) + }; + }, + + _tabKeydown: function(event) { + var focusedTab = $(this.document[0].activeElement).closest("li"), + selectedIndex = this.tabs.index(focusedTab), + goingForward = true; + + if (this._handlePageNav(event)) { + return; + } + + switch (event.keyCode) { + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + selectedIndex++; + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + goingForward = false; + selectedIndex--; + break; + case $.ui.keyCode.END: + selectedIndex = this.anchors.length - 1; + break; + case $.ui.keyCode.HOME: + selectedIndex = 0; + break; + case $.ui.keyCode.SPACE: + // Activate only, no collapsing + event.preventDefault(); + clearTimeout(this.activating); + this._activate(selectedIndex); + return; + case $.ui.keyCode.ENTER: + // Toggle (cancel delayed activation, allow collapsing) + event.preventDefault(); + clearTimeout(this.activating); + // Determine if we should collapse or activate + this._activate(selectedIndex === this.options.active ? false : selectedIndex); + return; + default: + return; + } + + // Focus the appropriate tab, based on which key was pressed + event.preventDefault(); + clearTimeout(this.activating); + selectedIndex = this._focusNextTab(selectedIndex, goingForward); + + // Navigating with control/command key will prevent automatic activation + if (!event.ctrlKey && !event.metaKey) { + + // Update aria-selected immediately so that AT think the tab is already selected. + // Otherwise AT may confuse the user by stating that they need to activate the tab, + // but the tab will already be activated by the time the announcement finishes. + focusedTab.attr("aria-selected", "false"); + this.tabs.eq(selectedIndex).attr("aria-selected", "true"); + + this.activating = this._delay(function() { + this.option("active", selectedIndex); + }, this.delay); + } + }, + + _panelKeydown: function(event) { + if (this._handlePageNav(event)) { + return; + } + + // Ctrl+up moves focus to the current tab + if (event.ctrlKey && event.keyCode === $.ui.keyCode.UP) { + event.preventDefault(); + this.active.focus(); + } + }, + + // Alt+page up/down moves focus to the previous/next tab (and activates) + _handlePageNav: function(event) { + if (event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP) { + this._activate(this._focusNextTab(this.options.active - 1, false)); + return true; + } + if (event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN) { + this._activate(this._focusNextTab(this.options.active + 1, true)); + return true; + } + }, + + _findNextTab: function(index, goingForward) { + var lastTabIndex = this.tabs.length - 1; + + function constrain() { + if (index > lastTabIndex) { + index = 0; + } + if (index < 0) { + index = lastTabIndex; + } + return index; + } + + while ($.inArray(constrain(), this.options.disabled) !== -1) { + index = goingForward ? index + 1 : index - 1; + } + + return index; + }, + + _focusNextTab: function(index, goingForward) { + index = this._findNextTab(index, goingForward); + this.tabs.eq(index).focus(); + return index; + }, + + _setOption: function(key, value) { + if (key === "active") { + // _activate() will handle invalid values and update this.options + this._activate(value); + return; + } + + if (key === "disabled") { + // don't use the widget factory's disabled handling + this._setupDisabled(value); + return; + } + + this._super(key, value); + + if (key === "collapsible") { + this.element.toggleClass("ui-tabs-collapsible", value); + // Setting collapsible: false while collapsed; open first panel + if (!value && this.options.active === false) { + this._activate(0); + } + } + + if (key === "event") { + this._setupEvents(value); + } + + if (key === "heightStyle") { + this._setupHeightStyle(value); + } + }, + + _sanitizeSelector: function(hash) { + return hash ? hash.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : ""; + }, + + refresh: function() { + var options = this.options, + lis = this.tablist.children(":has(a[href])"); + + // get disabled tabs from class attribute from HTML + // this will get converted to a boolean if needed in _refresh() + options.disabled = $.map(lis.filter(".ui-state-disabled"), function(tab) { + return lis.index(tab); + }); + + this._processTabs(); + + // was collapsed or no tabs + if (options.active === false || !this.anchors.length) { + options.active = false; + this.active = $(); + // was active, but active tab is gone + } else if (this.active.length && !$.contains(this.tablist[0], this.active[0])) { + // all remaining tabs are disabled + if (this.tabs.length === options.disabled.length) { + options.active = false; + this.active = $(); + // activate previous tab + } else { + this._activate(this._findNextTab(Math.max(0, options.active - 1), false)); + } + // was active, active tab still exists + } else { + // make sure active index is correct + options.active = this.tabs.index(this.active); + } + + this._refresh(); + }, + + _refresh: function() { + this._setupDisabled(this.options.disabled); + this._setupEvents(this.options.event); + this._setupHeightStyle(this.options.heightStyle); + + this.tabs.not(this.active).attr({ + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + }); + this.panels.not(this._getPanelForTab(this.active)) + .hide() + .attr({ + "aria-hidden": "true" + }); + + // Make sure one tab is in the tab order + if (!this.active.length) { + this.tabs.eq(0).attr("tabIndex", 0); + } else { + this.active + .addClass("ui-tabs-active ui-state-active") + .attr({ + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + }); + this._getPanelForTab(this.active) + .show() + .attr({ + "aria-hidden": "false" + }); + } + }, + + _processTabs: function() { + var that = this, + prevTabs = this.tabs, + prevAnchors = this.anchors, + prevPanels = this.panels; + + this.tablist = this._getList() + .addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all") + .attr("role", "tablist") + + // Prevent users from focusing disabled tabs via click + .delegate("> li", "mousedown" + this.eventNamespace, function(event) { + if ($(this).is(".ui-state-disabled")) { + event.preventDefault(); + } + }) + + // support: IE <9 + // Preventing the default action in mousedown doesn't prevent IE + // from focusing the element, so if the anchor gets focused, blur. + // We don't have to worry about focusing the previously focused + // element since clicking on a non-focusable element should focus + // the body anyway. + .delegate(".ui-tabs-anchor", "focus" + this.eventNamespace, function() { + if ($(this).closest("li").is(".ui-state-disabled")) { + this.blur(); + } + }); + + this.tabs = this.tablist.find("> li:has(a[href])") + .addClass("ui-state-default ui-corner-top") + .attr({ + role: "tab", + tabIndex: -1 + }); + + this.anchors = this.tabs.map(function() { + return $("a", this)[0]; + }) + .addClass("ui-tabs-anchor") + .attr({ + role: "presentation", + tabIndex: -1 + }); + + this.panels = $(); + + this.anchors.each(function(i, anchor) { + var selector, panel, panelId, + anchorId = $(anchor).uniqueId().attr("id"), + tab = $(anchor).closest("li"), + originalAriaControls = tab.attr("aria-controls"); + + // inline tab + if (that._isLocal(anchor)) { + selector = anchor.hash; + panelId = selector.substring(1); + panel = that.element.find(that._sanitizeSelector(selector)); + // remote tab + } else { + // If the tab doesn't already have aria-controls, + // generate an id by using a throw-away element + panelId = tab.attr("aria-controls") || $({}).uniqueId()[0].id; + selector = "#" + panelId; + panel = that.element.find(selector); + if (!panel.length) { + panel = that._createPanel(panelId); + panel.insertAfter(that.panels[i - 1] || that.tablist); + } + panel.attr("aria-live", "polite"); + } + + if (panel.length) { + that.panels = that.panels.add(panel); + } + if (originalAriaControls) { + tab.data("ui-tabs-aria-controls", originalAriaControls); + } + tab.attr({ + "aria-controls": panelId, + "aria-labelledby": anchorId + }); + panel.attr("aria-labelledby", anchorId); + }); + + this.panels + .addClass("ui-tabs-panel ui-widget-content ui-corner-bottom") + .attr("role", "tabpanel"); + + // Avoid memory leaks (#10056) + if (prevTabs) { + this._off(prevTabs.not(this.tabs)); + this._off(prevAnchors.not(this.anchors)); + this._off(prevPanels.not(this.panels)); + } + }, + + // allow overriding how to find the list for rare usage scenarios (#7715) + _getList: function() { + return this.tablist || this.element.find("ol,ul").eq(0); + }, + + _createPanel: function(id) { + return $("<div>") + .attr("id", id) + .addClass("ui-tabs-panel ui-widget-content ui-corner-bottom") + .data("ui-tabs-destroy", true); + }, + + _setupDisabled: function(disabled) { + if ($.isArray(disabled)) { + if (!disabled.length) { + disabled = false; + } else if (disabled.length === this.anchors.length) { + disabled = true; + } + } + + // disable tabs + for (var i = 0, li; + (li = this.tabs[i]); i++) { + if (disabled === true || $.inArray(i, disabled) !== -1) { + $(li) + .addClass("ui-state-disabled") + .attr("aria-disabled", "true"); + } else { + $(li) + .removeClass("ui-state-disabled") + .removeAttr("aria-disabled"); + } + } + + this.options.disabled = disabled; + }, + + _setupEvents: function(event) { + var events = {}; + if (event) { + $.each(event.split(" "), function(index, eventName) { + events[eventName] = "_eventHandler"; + }); + } + + this._off(this.anchors.add(this.tabs).add(this.panels)); + // Always prevent the default action, even when disabled + this._on(true, this.anchors, { + click: function(event) { + event.preventDefault(); + } + }); + this._on(this.anchors, events); + this._on(this.tabs, { + keydown: "_tabKeydown" + }); + this._on(this.panels, { + keydown: "_panelKeydown" + }); + + this._focusable(this.tabs); + this._hoverable(this.tabs); + }, + + _setupHeightStyle: function(heightStyle) { + var maxHeight, + parent = this.element.parent(); + + if (heightStyle === "fill") { + maxHeight = parent.height(); + maxHeight -= this.element.outerHeight() - this.element.height(); + + this.element.siblings(":visible").each(function() { + var elem = $(this), + position = elem.css("position"); + + if (position === "absolute" || position === "fixed") { + return; + } + maxHeight -= elem.outerHeight(true); + }); + + this.element.children().not(this.panels).each(function() { + maxHeight -= $(this).outerHeight(true); + }); + + this.panels.each(function() { + $(this).height(Math.max(0, maxHeight - + $(this).innerHeight() + $(this).height())); + }) + .css("overflow", "auto"); + } else if (heightStyle === "auto") { + maxHeight = 0; + this.panels.each(function() { + maxHeight = Math.max(maxHeight, $(this).height("").height()); + }).height(maxHeight); + } + }, + + _eventHandler: function(event) { + var options = this.options, + active = this.active, + anchor = $(event.currentTarget), + tab = anchor.closest("li"), + clickedIsActive = tab[0] === active[0], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : this._getPanelForTab(tab), + toHide = !active.length ? $() : this._getPanelForTab(active), + eventData = { + oldTab: active, + oldPanel: toHide, + newTab: collapsing ? $() : tab, + newPanel: toShow + }; + + event.preventDefault(); + + if (tab.hasClass("ui-state-disabled") || + // tab is already loading + tab.hasClass("ui-tabs-loading") || + // can't switch durning an animation + this.running || + // click on active header, but not collapsible + (clickedIsActive && !options.collapsible) || + // allow canceling activation + (this._trigger("beforeActivate", event, eventData) === false)) { + return; + } + + options.active = collapsing ? false : this.tabs.index(tab); + + this.active = clickedIsActive ? $() : tab; + if (this.xhr) { + this.xhr.abort(); + } + + if (!toHide.length && !toShow.length) { + $.error("jQuery UI Tabs: Mismatching fragment identifier."); + } + + if (toShow.length) { + this.load(this.tabs.index(tab), event); + } + this._toggle(event, eventData); + }, + + // handles show/hide for selecting tabs + _toggle: function(event, eventData) { + var that = this, + toShow = eventData.newPanel, + toHide = eventData.oldPanel; + + this.running = true; + + function complete() { + that.running = false; + that._trigger("activate", event, eventData); + } + + function show() { + eventData.newTab.closest("li").addClass("ui-tabs-active ui-state-active"); + + if (toShow.length && that.options.show) { + that._show(toShow, that.options.show, complete); + } else { + toShow.show(); + complete(); + } + } + + // start out by hiding, then showing, then completing + if (toHide.length && this.options.hide) { + this._hide(toHide, this.options.hide, function() { + eventData.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"); + show(); + }); + } else { + eventData.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"); + toHide.hide(); + show(); + } + + toHide.attr("aria-hidden", "true"); + eventData.oldTab.attr({ + "aria-selected": "false", + "aria-expanded": "false" + }); + // If we're switching tabs, remove the old tab from the tab order. + // If we're opening from collapsed state, remove the previous tab from the tab order. + // If we're collapsing, then keep the collapsing tab in the tab order. + if (toShow.length && toHide.length) { + eventData.oldTab.attr("tabIndex", -1); + } else if (toShow.length) { + this.tabs.filter(function() { + return $(this).attr("tabIndex") === 0; + }) + .attr("tabIndex", -1); + } + + toShow.attr("aria-hidden", "false"); + eventData.newTab.attr({ + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + }); + }, + + _activate: function(index) { + var anchor, + active = this._findActive(index); + + // trying to activate the already active panel + if (active[0] === this.active[0]) { + return; + } + + // trying to collapse, simulate a click on the current active header + if (!active.length) { + active = this.active; + } + + anchor = active.find(".ui-tabs-anchor")[0]; + this._eventHandler({ + target: anchor, + currentTarget: anchor, + preventDefault: $.noop + }); + }, + + _findActive: function(index) { + return index === false ? $() : this.tabs.eq(index); + }, + + _getIndex: function(index) { + // meta-function to give users option to provide a href string instead of a numerical index. + if (typeof index === "string") { + index = this.anchors.index(this.anchors.filter("[href$='" + index + "']")); + } + + return index; + }, + + _destroy: function() { + if (this.xhr) { + this.xhr.abort(); + } + + this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"); + + this.tablist + .removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all") + .removeAttr("role"); + + this.anchors + .removeClass("ui-tabs-anchor") + .removeAttr("role") + .removeAttr("tabIndex") + .removeUniqueId(); + + this.tablist.unbind(this.eventNamespace); + + this.tabs.add(this.panels).each(function() { + if ($.data(this, "ui-tabs-destroy")) { + $(this).remove(); + } else { + $(this) + .removeClass("ui-state-default ui-state-active ui-state-disabled " + + "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel") + .removeAttr("tabIndex") + .removeAttr("aria-live") + .removeAttr("aria-busy") + .removeAttr("aria-selected") + .removeAttr("aria-labelledby") + .removeAttr("aria-hidden") + .removeAttr("aria-expanded") + .removeAttr("role"); + } + }); + + this.tabs.each(function() { + var li = $(this), + prev = li.data("ui-tabs-aria-controls"); + if (prev) { + li + .attr("aria-controls", prev) + .removeData("ui-tabs-aria-controls"); + } else { + li.removeAttr("aria-controls"); + } + }); + + this.panels.show(); + + if (this.options.heightStyle !== "content") { + this.panels.css("height", ""); + } + }, + + enable: function(index) { + var disabled = this.options.disabled; + if (disabled === false) { + return; + } + + if (index === undefined) { + disabled = false; + } else { + index = this._getIndex(index); + if ($.isArray(disabled)) { + disabled = $.map(disabled, function(num) { + return num !== index ? num : null; + }); + } else { + disabled = $.map(this.tabs, function(li, num) { + return num !== index ? num : null; + }); + } + } + this._setupDisabled(disabled); + }, + + disable: function(index) { + var disabled = this.options.disabled; + if (disabled === true) { + return; + } + + if (index === undefined) { + disabled = true; + } else { + index = this._getIndex(index); + if ($.inArray(index, disabled) !== -1) { + return; + } + if ($.isArray(disabled)) { + disabled = $.merge([index], disabled).sort(); + } else { + disabled = [index]; + } + } + this._setupDisabled(disabled); + }, + + load: function(index, event) { + index = this._getIndex(index); + var that = this, + tab = this.tabs.eq(index), + anchor = tab.find(".ui-tabs-anchor"), + panel = this._getPanelForTab(tab), + eventData = { + tab: tab, + panel: panel + }, + complete = function(jqXHR, status) { + if (status === "abort") { + that.panels.stop(false, true); + } + + tab.removeClass("ui-tabs-loading"); + panel.removeAttr("aria-busy"); + + if (jqXHR === that.xhr) { + delete that.xhr; + } + }; + + // not remote + if (this._isLocal(anchor[0])) { + return; + } + + this.xhr = $.ajax(this._ajaxSettings(anchor, event, eventData)); + + // support: jQuery <1.8 + // jQuery <1.8 returns false if the request is canceled in beforeSend, + // but as of 1.8, $.ajax() always returns a jqXHR object. + if (this.xhr && this.xhr.statusText !== "canceled") { + tab.addClass("ui-tabs-loading"); + panel.attr("aria-busy", "true"); + + this.xhr + .done(function(response, status, jqXHR) { + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout(function() { + panel.html(response); + that._trigger("load", event, eventData); + + complete(jqXHR, status); + }, 1); + }) + .fail(function(jqXHR, status) { + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout(function() { + complete(jqXHR, status); + }, 1); + }); + } + }, + + _ajaxSettings: function(anchor, event, eventData) { + var that = this; + return { + url: anchor.attr("href"), + beforeSend: function(jqXHR, settings) { + return that._trigger("beforeLoad", event, + $.extend({ + jqXHR: jqXHR, + ajaxSettings: settings + }, eventData)); + } + }; + }, + + _getPanelForTab: function(tab) { + var id = $(tab).attr("aria-controls"); + return this.element.find(this._sanitizeSelector("#" + id)); + } + }); + + + /*! + * jQuery UI Effects 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/effects-core/ + */ + + + var dataSpace = "ui-effects-", + + // Create a local jQuery because jQuery Color relies on it and the + // global may not exist with AMD and a custom build (#10199) + jQuery = $; + + $.effects = { + effect: {} + }; + + /*! + * jQuery Color Animations v2.1.2 + * https://github.com/jquery/jquery-color + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * Date: Wed Jan 16 08:47:09 2013 -0600 + */ + (function(jQuery, undefined) { + + var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", + + // plusequals test for += 100 -= 100 + rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, + // a set of RE's that can match strings and generate color tuples. + stringParsers = [{ + re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function(execResult) { + return [ + execResult[1], + execResult[2], + execResult[3], + execResult[4] + ]; + } + }, { + re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function(execResult) { + return [ + execResult[1] * 2.55, + execResult[2] * 2.55, + execResult[3] * 2.55, + execResult[4] + ]; + } + }, { + // this regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, + parse: function(execResult) { + return [ + parseInt(execResult[1], 16), + parseInt(execResult[2], 16), + parseInt(execResult[3], 16) + ]; + } + }, { + // this regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, + parse: function(execResult) { + return [ + parseInt(execResult[1] + execResult[1], 16), + parseInt(execResult[2] + execResult[2], 16), + parseInt(execResult[3] + execResult[3], 16) + ]; + } + }, { + re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + space: "hsla", + parse: function(execResult) { + return [ + execResult[1], + execResult[2] / 100, + execResult[3] / 100, + execResult[4] + ]; + } + }], + + // jQuery.Color( ) + color = jQuery.Color = function(color, green, blue, alpha) { + return new jQuery.Color.fn.parse(color, green, blue, alpha); + }, + spaces = { + rgba: { + props: { + red: { + idx: 0, + type: "byte" + }, + green: { + idx: 1, + type: "byte" + }, + blue: { + idx: 2, + type: "byte" + } + } + }, + + hsla: { + props: { + hue: { + idx: 0, + type: "degrees" + }, + saturation: { + idx: 1, + type: "percent" + }, + lightness: { + idx: 2, + type: "percent" + } + } + } + }, + propTypes = { + "byte": { + floor: true, + max: 255 + }, + "percent": { + max: 1 + }, + "degrees": { + mod: 360, + floor: true + } + }, + support = color.support = {}, + + // element for support tests + supportElem = jQuery("<p>")[0], + + // colors = jQuery.Color.names + colors, + + // local aliases of functions called often + each = jQuery.each; + + // determine rgba support immediately + supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; + support.rgba = supportElem.style.backgroundColor.indexOf("rgba") > -1; + + // define cache name and alpha properties + // for rgba and hsla spaces + each(spaces, function(spaceName, space) { + space.cache = "_" + spaceName; + space.props.alpha = { + idx: 3, + type: "percent", + def: 1 + }; + }); + + function clamp(value, prop, allowEmpty) { + var type = propTypes[prop.type] || {}; + + if (value == null) { + return (allowEmpty || !prop.def) ? null : prop.def; + } + + // ~~ is an short way of doing floor for positive numbers + value = type.floor ? ~~value : parseFloat(value); + + // IE will pass in empty strings as value for alpha, + // which will hit this case + if (isNaN(value)) { + return prop.def; + } + + if (type.mod) { + // we add mod before modding to make sure that negatives values + // get converted properly: -10 -> 350 + return (value + type.mod) % type.mod; + } + + // for now all property types without mod have min and max + return 0 > value ? 0 : type.max < value ? type.max : value; + } + + function stringParse(string) { + var inst = color(), + rgba = inst._rgba = []; + + string = string.toLowerCase(); + + each(stringParsers, function(i, parser) { + var parsed, + match = parser.re.exec(string), + values = match && parser.parse(match), + spaceName = parser.space || "rgba"; + + if (values) { + parsed = inst[spaceName](values); + + // if this was an rgba parse the assignment might happen twice + // oh well.... + inst[spaces[spaceName].cache] = parsed[spaces[spaceName].cache]; + rgba = inst._rgba = parsed._rgba; + + // exit each( stringParsers ) here because we matched + return false; + } + }); + + // Found a stringParser that handled it + if (rgba.length) { + + // if this came from a parsed string, force "transparent" when alpha is 0 + // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) + if (rgba.join() === "0,0,0,0") { + jQuery.extend(rgba, colors.transparent); + } + return inst; + } + + // named colors + return colors[string]; + } + + color.fn = jQuery.extend(color.prototype, { + parse: function(red, green, blue, alpha) { + if (red === undefined) { + this._rgba = [null, null, null, null]; + return this; + } + if (red.jquery || red.nodeType) { + red = jQuery(red).css(green); + green = undefined; + } + + var inst = this, + type = jQuery.type(red), + rgba = this._rgba = []; + + // more than 1 argument specified - assume ( red, green, blue, alpha ) + if (green !== undefined) { + red = [red, green, blue, alpha]; + type = "array"; + } + + if (type === "string") { + return this.parse(stringParse(red) || colors._default); + } + + if (type === "array") { + each(spaces.rgba.props, function(key, prop) { + rgba[prop.idx] = clamp(red[prop.idx], prop); + }); + return this; + } + + if (type === "object") { + if (red instanceof color) { + each(spaces, function(spaceName, space) { + if (red[space.cache]) { + inst[space.cache] = red[space.cache].slice(); + } + }); + } else { + each(spaces, function(spaceName, space) { + var cache = space.cache; + each(space.props, function(key, prop) { + + // if the cache doesn't exist, and we know how to convert + if (!inst[cache] && space.to) { + + // if the value was null, we don't need to copy it + // if the key was alpha, we don't need to copy it either + if (key === "alpha" || red[key] == null) { + return; + } + inst[cache] = space.to(inst._rgba); + } + + // this is the only case where we allow nulls for ALL properties. + // call clamp with alwaysAllowEmpty + inst[cache][prop.idx] = clamp(red[key], prop, true); + }); + + // everything defined but alpha? + if (inst[cache] && jQuery.inArray(null, inst[cache].slice(0, 3)) < 0) { + // use the default of 1 + inst[cache][3] = 1; + if (space.from) { + inst._rgba = space.from(inst[cache]); + } + } + }); + } + return this; + } + }, + is: function(compare) { + var is = color(compare), + same = true, + inst = this; + + each(spaces, function(_, space) { + var localCache, + isCache = is[space.cache]; + if (isCache) { + localCache = inst[space.cache] || space.to && space.to(inst._rgba) || []; + each(space.props, function(_, prop) { + if (isCache[prop.idx] != null) { + same = (isCache[prop.idx] === localCache[prop.idx]); + return same; + } + }); + } + return same; + }); + return same; + }, + _space: function() { + var used = [], + inst = this; + each(spaces, function(spaceName, space) { + if (inst[space.cache]) { + used.push(spaceName); + } + }); + return used.pop(); + }, + transition: function(other, distance) { + var end = color(other), + spaceName = end._space(), + space = spaces[spaceName], + startColor = this.alpha() === 0 ? color("transparent") : this, + start = startColor[space.cache] || space.to(startColor._rgba), + result = start.slice(); + + end = end[space.cache]; + each(space.props, function(key, prop) { + var index = prop.idx, + startValue = start[index], + endValue = end[index], + type = propTypes[prop.type] || {}; + + // if null, don't override start value + if (endValue === null) { + return; + } + // if null - use end + if (startValue === null) { + result[index] = endValue; + } else { + if (type.mod) { + if (endValue - startValue > type.mod / 2) { + startValue += type.mod; + } else if (startValue - endValue > type.mod / 2) { + startValue -= type.mod; + } + } + result[index] = clamp((endValue - startValue) * distance + startValue, prop); + } + }); + return this[spaceName](result); + }, + blend: function(opaque) { + // if we are already opaque - return ourself + if (this._rgba[3] === 1) { + return this; + } + + var rgb = this._rgba.slice(), + a = rgb.pop(), + blend = color(opaque)._rgba; + + return color(jQuery.map(rgb, function(v, i) { + return (1 - a) * blend[i] + a * v; + })); + }, + toRgbaString: function() { + var prefix = "rgba(", + rgba = jQuery.map(this._rgba, function(v, i) { + return v == null ? (i > 2 ? 1 : 0) : v; + }); + + if (rgba[3] === 1) { + rgba.pop(); + prefix = "rgb("; + } + + return prefix + rgba.join() + ")"; + }, + toHslaString: function() { + var prefix = "hsla(", + hsla = jQuery.map(this.hsla(), function(v, i) { + if (v == null) { + v = i > 2 ? 1 : 0; + } + + // catch 1 and 2 + if (i && i < 3) { + v = Math.round(v * 100) + "%"; + } + return v; + }); + + if (hsla[3] === 1) { + hsla.pop(); + prefix = "hsl("; + } + return prefix + hsla.join() + ")"; + }, + toHexString: function(includeAlpha) { + var rgba = this._rgba.slice(), + alpha = rgba.pop(); + + if (includeAlpha) { + rgba.push(~~(alpha * 255)); + } + + return "#" + jQuery.map(rgba, function(v) { + + // default to 0 when nulls exist + v = (v || 0).toString(16); + return v.length === 1 ? "0" + v : v; + }).join(""); + }, + toString: function() { + return this._rgba[3] === 0 ? "transparent" : this.toRgbaString(); + } + }); + color.fn.parse.prototype = color.fn; + + // hsla conversions adapted from: + // https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 + + function hue2rgb(p, q, h) { + h = (h + 1) % 1; + if (h * 6 < 1) { + return p + (q - p) * h * 6; + } + if (h * 2 < 1) { + return q; + } + if (h * 3 < 2) { + return p + (q - p) * ((2 / 3) - h) * 6; + } + return p; + } + + spaces.hsla.to = function(rgba) { + if (rgba[0] == null || rgba[1] == null || rgba[2] == null) { + return [null, null, null, rgba[3]]; + } + var r = rgba[0] / 255, + g = rgba[1] / 255, + b = rgba[2] / 255, + a = rgba[3], + max = Math.max(r, g, b), + min = Math.min(r, g, b), + diff = max - min, + add = max + min, + l = add * 0.5, + h, s; + + if (min === max) { + h = 0; + } else if (r === max) { + h = (60 * (g - b) / diff) + 360; + } else if (g === max) { + h = (60 * (b - r) / diff) + 120; + } else { + h = (60 * (r - g) / diff) + 240; + } + + // chroma (diff) == 0 means greyscale which, by definition, saturation = 0% + // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) + if (diff === 0) { + s = 0; + } else if (l <= 0.5) { + s = diff / add; + } else { + s = diff / (2 - add); + } + return [Math.round(h) % 360, s, l, a == null ? 1 : a]; + }; + + spaces.hsla.from = function(hsla) { + if (hsla[0] == null || hsla[1] == null || hsla[2] == null) { + return [null, null, null, hsla[3]]; + } + var h = hsla[0] / 360, + s = hsla[1], + l = hsla[2], + a = hsla[3], + q = l <= 0.5 ? l * (1 + s) : l + s - l * s, + p = 2 * l - q; + + return [ + Math.round(hue2rgb(p, q, h + (1 / 3)) * 255), + Math.round(hue2rgb(p, q, h) * 255), + Math.round(hue2rgb(p, q, h - (1 / 3)) * 255), + a + ]; + }; + + each(spaces, function(spaceName, space) { + var props = space.props, + cache = space.cache, + to = space.to, + from = space.from; + + // makes rgba() and hsla() + color.fn[spaceName] = function(value) { + + // generate a cache for this space if it doesn't exist + if (to && !this[cache]) { + this[cache] = to(this._rgba); + } + if (value === undefined) { + return this[cache].slice(); + } + + var ret, + type = jQuery.type(value), + arr = (type === "array" || type === "object") ? value : arguments, + local = this[cache].slice(); + + each(props, function(key, prop) { + var val = arr[type === "object" ? key : prop.idx]; + if (val == null) { + val = local[prop.idx]; + } + local[prop.idx] = clamp(val, prop); + }); + + if (from) { + ret = color(from(local)); + ret[cache] = local; + return ret; + } else { + return color(local); + } + }; + + // makes red() green() blue() alpha() hue() saturation() lightness() + each(props, function(key, prop) { + // alpha is included in more than one space + if (color.fn[key]) { + return; + } + color.fn[key] = function(value) { + var vtype = jQuery.type(value), + fn = (key === "alpha" ? (this._hsla ? "hsla" : "rgba") : spaceName), + local = this[fn](), + cur = local[prop.idx], + match; + + if (vtype === "undefined") { + return cur; + } + + if (vtype === "function") { + value = value.call(this, cur); + vtype = jQuery.type(value); + } + if (value == null && prop.empty) { + return this; + } + if (vtype === "string") { + match = rplusequals.exec(value); + if (match) { + value = cur + parseFloat(match[2]) * (match[1] === "+" ? 1 : -1); + } + } + local[prop.idx] = value; + return this[fn](local); + }; + }); + }); + + // add cssHook and .fx.step function for each named hook. + // accept a space separated string of properties + color.hook = function(hook) { + var hooks = hook.split(" "); + each(hooks, function(i, hook) { + jQuery.cssHooks[hook] = { + set: function(elem, value) { + var parsed, curElem, + backgroundColor = ""; + + if (value !== "transparent" && (jQuery.type(value) !== "string" || (parsed = stringParse(value)))) { + value = color(parsed || value); + if (!support.rgba && value._rgba[3] !== 1) { + curElem = hook === "backgroundColor" ? elem.parentNode : elem; + while ( + (backgroundColor === "" || backgroundColor === "transparent") && + curElem && curElem.style + ) { + try { + backgroundColor = jQuery.css(curElem, "backgroundColor"); + curElem = curElem.parentNode; + } catch (e) {} + } + + value = value.blend(backgroundColor && backgroundColor !== "transparent" ? + backgroundColor : + "_default"); + } + + value = value.toRgbaString(); + } + try { + elem.style[hook] = value; + } catch (e) { + // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' + } + } + }; + jQuery.fx.step[hook] = function(fx) { + if (!fx.colorInit) { + fx.start = color(fx.elem, hook); + fx.end = color(fx.end); + fx.colorInit = true; + } + jQuery.cssHooks[hook].set(fx.elem, fx.start.transition(fx.end, fx.pos)); + }; + }); + + }; + + color.hook(stepHooks); + + jQuery.cssHooks.borderColor = { + expand: function(value) { + var expanded = {}; + + each(["Top", "Right", "Bottom", "Left"], function(i, part) { + expanded["border" + part + "Color"] = value; + }); + return expanded; + } + }; + + // Basic color names only. + // Usage of any of the other color names requires adding yourself or including + // jquery.color.svg-names.js. + colors = jQuery.Color.names = { + // 4.1. Basic color keywords + aqua: "#00ffff", + black: "#000000", + blue: "#0000ff", + fuchsia: "#ff00ff", + gray: "#808080", + green: "#008000", + lime: "#00ff00", + maroon: "#800000", + navy: "#000080", + olive: "#808000", + purple: "#800080", + red: "#ff0000", + silver: "#c0c0c0", + teal: "#008080", + white: "#ffffff", + yellow: "#ffff00", + + // 4.2.3. "transparent" color keyword + transparent: [null, null, null, 0], + + _default: "#ffffff" + }; + + })(jQuery); + + /******************************************************************************/ + /****************************** CLASS ANIMATIONS ******************************/ + /******************************************************************************/ + (function() { + + var classAnimationActions = ["add", "remove", "toggle"], + shorthandStyles = { + border: 1, + borderBottom: 1, + borderColor: 1, + borderLeft: 1, + borderRight: 1, + borderTop: 1, + borderWidth: 1, + margin: 1, + padding: 1 + }; + + $.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function(_, prop) { + $.fx.step[prop] = function(fx) { + if (fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr) { + jQuery.style(fx.elem, prop, fx.end); + fx.setAttr = true; + } + }; + }); + + function getElementStyles(elem) { + var key, len, + style = elem.ownerDocument.defaultView ? + elem.ownerDocument.defaultView.getComputedStyle(elem, null) : + elem.currentStyle, + styles = {}; + + if (style && style.length && style[0] && style[style[0]]) { + len = style.length; + while (len--) { + key = style[len]; + if (typeof style[key] === "string") { + styles[$.camelCase(key)] = style[key]; + } + } + // support: Opera, IE <9 + } else { + for (key in style) { + if (typeof style[key] === "string") { + styles[key] = style[key]; + } + } + } + + return styles; + } + + function styleDifference(oldStyle, newStyle) { + var diff = {}, + name, value; + + for (name in newStyle) { + value = newStyle[name]; + if (oldStyle[name] !== value) { + if (!shorthandStyles[name]) { + if ($.fx.step[name] || !isNaN(parseFloat(value))) { + diff[name] = value; + } + } + } + } + + return diff; + } + + // support: jQuery <1.8 + if (!$.fn.addBack) { + $.fn.addBack = function(selector) { + return this.add(selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + }; + } + + $.effects.animateClass = function(value, duration, easing, callback) { + var o = $.speed(duration, easing, callback); + + return this.queue(function() { + var animated = $(this), + baseClass = animated.attr("class") || "", + applyClassChange, + allAnimations = o.children ? animated.find("*").addBack() : animated; + + // map the animated objects to store the original styles. + allAnimations = allAnimations.map(function() { + var el = $(this); + return { + el: el, + start: getElementStyles(this) + }; + }); + + // apply class change + applyClassChange = function() { + $.each(classAnimationActions, function(i, action) { + if (value[action]) { + animated[action + "Class"](value[action]); + } + }); + }; + applyClassChange(); + + // map all animated objects again - calculate new styles and diff + allAnimations = allAnimations.map(function() { + this.end = getElementStyles(this.el[0]); + this.diff = styleDifference(this.start, this.end); + return this; + }); + + // apply original class + animated.attr("class", baseClass); + + // map all animated objects again - this time collecting a promise + allAnimations = allAnimations.map(function() { + var styleInfo = this, + dfd = $.Deferred(), + opts = $.extend({}, o, { + queue: false, + complete: function() { + dfd.resolve(styleInfo); + } + }); + + this.el.animate(this.diff, opts); + return dfd.promise(); + }); + + // once all animations have completed: + $.when.apply($, allAnimations.get()).done(function() { + + // set the final class + applyClassChange(); + + // for each animated element, + // clear all css properties that were animated + $.each(arguments, function() { + var el = this.el; + $.each(this.diff, function(key) { + el.css(key, ""); + }); + }); + + // this is guarnteed to be there if you use jQuery.speed() + // it also handles dequeuing the next anim... + o.complete.call(animated[0]); + }); + }); + }; + + $.fn.extend({ + addClass: (function(orig) { + return function(classNames, speed, easing, callback) { + return speed ? + $.effects.animateClass.call(this, { + add: classNames + }, speed, easing, callback) : + orig.apply(this, arguments); + }; + })($.fn.addClass), + + removeClass: (function(orig) { + return function(classNames, speed, easing, callback) { + return arguments.length > 1 ? + $.effects.animateClass.call(this, { + remove: classNames + }, speed, easing, callback) : + orig.apply(this, arguments); + }; + })($.fn.removeClass), + + toggleClass: (function(orig) { + return function(classNames, force, speed, easing, callback) { + if (typeof force === "boolean" || force === undefined) { + if (!speed) { + // without speed parameter + return orig.apply(this, arguments); + } else { + return $.effects.animateClass.call(this, + (force ? { + add: classNames + } : { + remove: classNames + }), + speed, easing, callback); + } + } else { + // without force parameter + return $.effects.animateClass.call(this, { + toggle: classNames + }, force, speed, easing); + } + }; + })($.fn.toggleClass), + + switchClass: function(remove, add, speed, easing, callback) { + return $.effects.animateClass.call(this, { + add: add, + remove: remove + }, speed, easing, callback); + } + }); + + })(); + + /******************************************************************************/ + /*********************************** EFFECTS **********************************/ + /******************************************************************************/ + + (function() { + + $.extend($.effects, { + version: "1.11.4", + + // Saves a set of properties in a data storage + save: function(element, set) { + for (var i = 0; i < set.length; i++) { + if (set[i] !== null) { + element.data(dataSpace + set[i], element[0].style[set[i]]); + } + } + }, + + // Restores a set of previously saved properties from a data storage + restore: function(element, set) { + var val, i; + for (i = 0; i < set.length; i++) { + if (set[i] !== null) { + val = element.data(dataSpace + set[i]); + // support: jQuery 1.6.2 + // http://bugs.jquery.com/ticket/9917 + // jQuery 1.6.2 incorrectly returns undefined for any falsy value. + // We can't differentiate between "" and 0 here, so we just assume + // empty string since it's likely to be a more common value... + if (val === undefined) { + val = ""; + } + element.css(set[i], val); + } + } + }, + + setMode: function(el, mode) { + if (mode === "toggle") { + mode = el.is(":hidden") ? "show" : "hide"; + } + return mode; + }, + + // Translates a [top,left] array into a baseline value + // this should be a little more flexible in the future to handle a string & hash + getBaseline: function(origin, original) { + var y, x; + switch (origin[0]) { + case "top": + y = 0; + break; + case "middle": + y = 0.5; + break; + case "bottom": + y = 1; + break; + default: + y = origin[0] / original.height; + } + switch (origin[1]) { + case "left": + x = 0; + break; + case "center": + x = 0.5; + break; + case "right": + x = 1; + break; + default: + x = origin[1] / original.width; + } + return { + x: x, + y: y + }; + }, + + // Wraps the element around a wrapper that copies position properties + createWrapper: function(element) { + + // if the element is already wrapped, return it + if (element.parent().is(".ui-effects-wrapper")) { + return element.parent(); + } + + // wrap the element + var props = { + width: element.outerWidth(true), + height: element.outerHeight(true), + "float": element.css("float") + }, + wrapper = $("<div></div>") + .addClass("ui-effects-wrapper") + .css({ + fontSize: "100%", + background: "transparent", + border: "none", + margin: 0, + padding: 0 + }), + // Store the size in case width/height are defined in % - Fixes #5245 + size = { + width: element.width(), + height: element.height() + }, + active = document.activeElement; + + // support: Firefox + // Firefox incorrectly exposes anonymous content + // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 + try { + active.id; + } catch (e) { + active = document.body; + } + + element.wrap(wrapper); + + // Fixes #7595 - Elements lose focus when wrapped. + if (element[0] === active || $.contains(element[0], active)) { + $(active).focus(); + } + + wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element + + // transfer positioning properties to the wrapper + if (element.css("position") === "static") { + wrapper.css({ + position: "relative" + }); + element.css({ + position: "relative" + }); + } else { + $.extend(props, { + position: element.css("position"), + zIndex: element.css("z-index") + }); + $.each(["top", "left", "bottom", "right"], function(i, pos) { + props[pos] = element.css(pos); + if (isNaN(parseInt(props[pos], 10))) { + props[pos] = "auto"; + } + }); + element.css({ + position: "relative", + top: 0, + left: 0, + right: "auto", + bottom: "auto" + }); + } + element.css(size); + + return wrapper.css(props).show(); + }, + + removeWrapper: function(element) { + var active = document.activeElement; + + if (element.parent().is(".ui-effects-wrapper")) { + element.parent().replaceWith(element); + + // Fixes #7595 - Elements lose focus when wrapped. + if (element[0] === active || $.contains(element[0], active)) { + $(active).focus(); + } + } + + return element; + }, + + setTransition: function(element, list, factor, value) { + value = value || {}; + $.each(list, function(i, x) { + var unit = element.cssUnit(x); + if (unit[0] > 0) { + value[x] = unit[0] * factor + unit[1]; + } + }); + return value; + } + }); + + // return an effect options object for the given parameters: + function _normalizeArguments(effect, options, speed, callback) { + + // allow passing all options as the first parameter + if ($.isPlainObject(effect)) { + options = effect; + effect = effect.effect; + } + + // convert to an object + effect = { + effect: effect + }; + + // catch (effect, null, ...) + if (options == null) { + options = {}; + } + + // catch (effect, callback) + if ($.isFunction(options)) { + callback = options; + speed = null; + options = {}; + } + + // catch (effect, speed, ?) + if (typeof options === "number" || $.fx.speeds[options]) { + callback = speed; + speed = options; + options = {}; + } + + // catch (effect, options, callback) + if ($.isFunction(speed)) { + callback = speed; + speed = null; + } + + // add options to effect + if (options) { + $.extend(effect, options); + } + + speed = speed || options.duration; + effect.duration = $.fx.off ? 0 : + typeof speed === "number" ? speed : + speed in $.fx.speeds ? $.fx.speeds[speed] : + $.fx.speeds._default; + + effect.complete = callback || options.complete; + + return effect; + } + + function standardAnimationOption(option) { + // Valid standard speeds (nothing, number, named speed) + if (!option || typeof option === "number" || $.fx.speeds[option]) { + return true; + } + + // Invalid strings - treat as "normal" speed + if (typeof option === "string" && !$.effects.effect[option]) { + return true; + } + + // Complete callback + if ($.isFunction(option)) { + return true; + } + + // Options hash (but not naming an effect) + if (typeof option === "object" && !option.effect) { + return true; + } + + // Didn't match any standard API + return false; + } + + $.fn.extend({ + effect: function( /* effect, options, speed, callback */ ) { + var args = _normalizeArguments.apply(this, arguments), + mode = args.mode, + queue = args.queue, + effectMethod = $.effects.effect[args.effect]; + + if ($.fx.off || !effectMethod) { + // delegate to the original method (e.g., .show()) if possible + if (mode) { + return this[mode](args.duration, args.complete); + } else { + return this.each(function() { + if (args.complete) { + args.complete.call(this); + } + }); + } + } + + function run(next) { + var elem = $(this), + complete = args.complete, + mode = args.mode; + + function done() { + if ($.isFunction(complete)) { + complete.call(elem[0]); + } + if ($.isFunction(next)) { + next(); + } + } + + // If the element already has the correct final state, delegate to + // the core methods so the internal tracking of "olddisplay" works. + if (elem.is(":hidden") ? mode === "hide" : mode === "show") { + elem[mode](); + done(); + } else { + effectMethod.call(elem[0], args, done); + } + } + + return queue === false ? this.each(run) : this.queue(queue || "fx", run); + }, + + show: (function(orig) { + return function(option) { + if (standardAnimationOption(option)) { + return orig.apply(this, arguments); + } else { + var args = _normalizeArguments.apply(this, arguments); + args.mode = "show"; + return this.effect.call(this, args); + } + }; + })($.fn.show), + + hide: (function(orig) { + return function(option) { + if (standardAnimationOption(option)) { + return orig.apply(this, arguments); + } else { + var args = _normalizeArguments.apply(this, arguments); + args.mode = "hide"; + return this.effect.call(this, args); + } + }; + })($.fn.hide), + + toggle: (function(orig) { + return function(option) { + if (standardAnimationOption(option) || typeof option === "boolean") { + return orig.apply(this, arguments); + } else { + var args = _normalizeArguments.apply(this, arguments); + args.mode = "toggle"; + return this.effect.call(this, args); + } + }; + })($.fn.toggle), + + // helper functions + cssUnit: function(key) { + var style = this.css(key), + val = []; + + $.each(["em", "px", "%", "pt"], function(i, unit) { + if (style.indexOf(unit) > 0) { + val = [parseFloat(style), unit]; + } + }); + return val; + } + }); + + })(); + + /******************************************************************************/ + /*********************************** EASING ***********************************/ + /******************************************************************************/ + + (function() { + + // based on easing equations from Robert Penner (http://www.robertpenner.com/easing) + + var baseEasings = {}; + + $.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function(i, name) { + baseEasings[name] = function(p) { + return Math.pow(p, i + 2); + }; + }); + + $.extend(baseEasings, { + Sine: function(p) { + return 1 - Math.cos(p * Math.PI / 2); + }, + Circ: function(p) { + return 1 - Math.sqrt(1 - p * p); + }, + Elastic: function(p) { + return p === 0 || p === 1 ? p : + -Math.pow(2, 8 * (p - 1)) * Math.sin(((p - 1) * 80 - 7.5) * Math.PI / 15); + }, + Back: function(p) { + return p * p * (3 * p - 2); + }, + Bounce: function(p) { + var pow2, + bounce = 4; + + while (p < ((pow2 = Math.pow(2, --bounce)) - 1) / 11) {} + return 1 / Math.pow(4, 3 - bounce) - 7.5625 * Math.pow((pow2 * 3 - 2) / 22 - p, 2); + } + }); + + $.each(baseEasings, function(name, easeIn) { + $.easing["easeIn" + name] = easeIn; + $.easing["easeOut" + name] = function(p) { + return 1 - easeIn(1 - p); + }; + $.easing["easeInOut" + name] = function(p) { + return p < 0.5 ? + easeIn(p * 2) / 2 : + 1 - easeIn(p * -2 + 2) / 2; + }; + }); + + })(); + + var effect = $.effects; + + + /*! + * jQuery UI Effects Fade 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/fade-effect/ + */ + + + var effectFade = $.effects.effect.fade = function(o, done) { + var el = $(this), + mode = $.effects.setMode(el, o.mode || "toggle"); + + el.animate({ + opacity: mode + }, { + queue: false, + duration: o.duration, + easing: o.easing, + complete: done + }); + }; + + + /*! + * jQuery UI Effects Slide 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/slide-effect/ + */ + + + var effectSlide = $.effects.effect.slide = function(o, done) { + + // Create element + var el = $(this), + props = ["position", "top", "bottom", "left", "right", "width", "height"], + mode = $.effects.setMode(el, o.mode || "show"), + show = mode === "show", + direction = o.direction || "left", + ref = (direction === "up" || direction === "down") ? "top" : "left", + positiveMotion = (direction === "up" || direction === "left"), + distance, + animation = {}; + + // Adjust + $.effects.save(el, props); + el.show(); + distance = o.distance || el[ref === "top" ? "outerHeight" : "outerWidth"](true); + + $.effects.createWrapper(el).css({ + overflow: "hidden" + }); + + if (show) { + el.css(ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance); + } + + // Animation + animation[ref] = (show ? + (positiveMotion ? "+=" : "-=") : + (positiveMotion ? "-=" : "+=")) + + distance; + + // Animate + el.animate(animation, { + queue: false, + duration: o.duration, + easing: o.easing, + complete: function() { + if (mode === "hide") { + el.hide(); + } + $.effects.restore(el, props); + $.effects.removeWrapper(el); + done(); + } + }); + }; + + + +})); \ No newline at end of file diff --git a/src/main/resources/saref-portal-generator/public/test.png b/src/main/resources/saref-portal-generator/public/test.png new file mode 100644 index 0000000000000000000000000000000000000000..05497c2e7498a3e590b1a6711e299b6e07f7d30c Binary files /dev/null and b/src/main/resources/saref-portal-generator/public/test.png differ diff --git a/src/main/resources/saref-portal-generator/public/vocab.html b/src/main/resources/saref-portal-generator/public/vocab.html new file mode 100644 index 0000000000000000000000000000000000000000..c72988d3283d21b457bf0fc5ebaa886870656aa3 --- /dev/null +++ b/src/main/resources/saref-portal-generator/public/vocab.html @@ -0,0 +1,341 @@ +<!DOCTYPE html> +<html lang="en"><head> +<meta http-equiv="content-type" content="text/html; charset=UTF-8"> + <meta charset="UTF-8"> + <title>SAREF ontologies</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content="This describes a catalog of vocabularies authored or contributed to by the members of the OEG."> + <meta name="languaje" content="English"> + <meta name="author" content="Maria Poveda Villalon"> + <meta name="author" content="Daniel Garijo"> + + <link rel="stylesheet" href="SAREF%20ontologies_files/style.css" type="text/css" media="print, projection, screen"> + <script async="" src="SAREF%20ontologies_files/analytics.js"></script><script src="SAREF%20ontologies_files/jquery-1.js"></script> + <script type="text/javascript" src="SAREF%20ontologies_files/jquery.js"></script> + <script type="text/javascript" src="SAREF%20ontologies_files/jquery_002.js"></script> + <script type="text/javascript" src="SAREF%20ontologies_files/jquery-ui.js"></script> + <script type="text/javascript" src="SAREF%20ontologies_files/bootstrap.js"></script> + <link rel="stylesheet" href="SAREF%20ontologies_files/jquery-ui.css"> + <script type="text/javascript" id="js"> + $(document).ready(function() + { + $("#tablesorter-demo").tablesorter(); + $("#tablesorter-demo").stickyTableHeaders(); + $('[data-toggle="tooltip"]').tooltip(); + } + ); + </script> + + <!-- Le styles --> + <link href="SAREF%20ontologies_files/bootstrap.css" rel="stylesheet"> + <style type="text/css"> + body { + padding-top: 60px; + padding-bottom: 40px; + } + </style> + + <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> + <!--[if lt IE 9]> + <script src="vocab/js/html5shiv.js"></script> + <![endif]--> + + <!-- Fav and touch icons --> + <style type="text/css" media="print">.tableFloatingHeader{display:none !important;}.tableFloatingHeaderOriginal{position:static !important;}</style></head> + + <body cz-shortcut-listen="true"> + +<div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + </div> + <div class="collapse navbar-collapse"> + <ul class="nav navbar-nav"> + <li class="active"><a href="#">Ontologies</a></li> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + <div class="container"> + + <!-- Jumbotron --> + <div class="jumbotron"> + <h1>SAREF extensions registry</h1> + <p class="lead">Here you can find the list of SAREF familiy of ontologies</p> + </div> + <hr> +<div class="row"> +<div class="ui-widget"> +<div class="col-md-3"> +<p class="text-right"><label for="tags">Filter by title or domain: </label></p> +</div> +<div class="col-md-8"> +<input class="form-control ui-autocomplete-input" id="tags" autocomplete="off"> +<button id="remButt" class="label label-default" onclick="showRows();" style="font-size: 75%; font-weight: bold; line-height: 1; display: none;"><span class="submit glyphicon glyphicon-remove"></span> Remove filter</button> +</div> +</div> +</div> +<br> +<table id="tablesorter-demo" class="tablesorter table table-hover table-responsive" style="padding: 0px;"> +<thead class="tableFloatingHeaderOriginal"> +<tr> +<th class="col-md-2 header">Ontology</th> +<th class="col-md-2 header">Serialization</th> +<th class="col-md-1 header">License</th> +<th class="col-md-1 header">Authors</th> +<th class="col-md-1 header">Language</th> +<th class="col-md-2 header">Domain</th> +<th class="col-md-4 header">Description</th> +</tr> +</thead><thead class="tableFloatingHeader" style="display: none;"> +<tr> +<th class="col-md-2 header">Ontology</th> +<th class="col-md-2 header">Serialization</th> +<th class="col-md-1 header">License</th> +<th class="col-md-1 header">Authors</th> +<th class="col-md-1 header">Language</th> +<th class="col-md-2 header">Domain</th> +<th class="col-md-4 header">Description</th> +</tr> +</thead> + +<tbody> + +<tr id="tr1"> +<td><a href="https://w3id.org/saref" target="_blank">SAREF: the Smart Appliances REFerence ontology</a> <a href="http://saref.linkeddata.es/ontologies/w3id.orgsaref.html" target=""><span class="glyphicon glyphicon-info-sign" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="More information about this ontology"></span></a></td> +<td> + <span class="label label-primary">html</span> +<span class="label label-primary">turtle</span> +</td> +<td><a href="http://purl.org/NET/rdflicense/cc-by4.0" target="_blank"> <span class="label label-success">CC-by4.0</span> </a></td> + +<td> + <a href="https://www.linkedin.com/in/lauradaniele" target="_blank"> <span class="label label-default">Laura Daniele</span> </a> + <a href="hhttp://purl.org/net/mpoveda" target="_blank"> <span class="label label-default">MarÃa Poveda-Villalón</span> </a> + <a href="http://www.garcia-castro.com/foaf.rdf#me" target="_blank"> <span class="label label-default">Raúl GarcÃa-Castro</span> </a> + +</td> + +<td><a href="http://lexvo.org/id/iso639-3/eng" target="_blank"> <span class="label label-primary">en</span></a></td> +<td><span class="label label-primary">smart appliances</span> <span class="label label-primary">IoT</span> +</td> +<td> +<p id="collapse1" data-toggle="collapse"> +The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... <a class="more1">See more</a> +</p> +<script> +$('#collapse1').click(function () { +if($('a').hasClass('more1')) +{ +$('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing assets (standards/protocols/datamodels/etc.) in the smart appliances domain. The SAREF ontology provides building blocks that allow separation and recombination of different parts of the ontology depending on specific needs. The starting point of SAREF is the concept of device (e.g., a switch). Devices are tangible objects designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs the start and stop function. The SAREF ontology offers a lists of basic functions that can be eventually combined in order to have more complex functions in a single device. For example, a switch offers an actuating function of type 'switching on/off'. Each function has some associated commands, which can also be picked up as building blocks from a list. For example, the 'switching on/off' is associated with the commands 'switch on', 'switch off' and 'toggle'. Depending on the function(s) it accomplishes, a device can be found in some corresponding states that are also listed as building blocks. When connected to a network, a device offers a service, which is a representation of a function to a network that makes the function discoverable, registerable and remotely controllable by other devices in the network. A service can represent one or more functions. A service is offered by a device that wants (a certain set of) its function(s) to be discoverable, registerable, remotely controllable by other devices in the network. A service must specify the device that is offering the service and the function(s) to be represented. A device in the SAREF ontology is also characterized by a profile that can be used to optimize some property, such as Energy, in a home or office that are part of a building. <a class="less1">See less<a>'); +} +else +{ +$('#collapse1').html('The Smart Appliances REFerence (SAREF) ontology is a shared model of consensus that facilitates the matching of existing ... <a class="more1">See more</a>'); +} +}); +</script> + + +</td> +<input type="hidden" name="inp1" id="inp1" value="SAREF: the Smart Appliances REFerence ontology-- smart appliances--"></tr> + + + +<tr id="tr2"> +<td><a href="https://w3id.org/def/saref4envi#" target="_blank">SAREF extension for environment</a> <a href="http://saref.linkeddata.es/ontologies/w3id.orgdefsaref4envi.html" target=""><span class="glyphicon glyphicon-info-sign" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="More information about this ontology"></span></a></td> +<td> +<span class="label label-primary">html</span> +<span class="label label-primary">turtle</span> +<span class="label label-primary">xml</span> +<span class="label label-primary">N-Triples</span> + + +</td> +<td><a href="http://purl.org/NET/rdflicense/cc-by4.0" target="_blank"> <span class="label label-success">CC-by4.0</span> </a></td> + +<td> + <a href="hhttp://purl.org/net/mpoveda" target="_blank"> <span class="label label-default">MarÃa Poveda-Villalón</span> </a> + <a href="http://www.garcia-castro.com/foaf.rdf#me" target="_blank"> <span class="label label-default">Raúl GarcÃa-Castro</span> </a> +</td> + +<td><a href="http://lexvo.org/id/iso639-3/eng" target="_blank"> <span class="label label-primary">en</span></a> </td> +<td><span class="label label-primary">environment</span> +<span class="label label-primary">light pollution</span> +<span class="label label-primary">photometer</span> +<span class="label label-primary">SAREF</span> +</td> +<td> +<p id="collapse2" data-toggle="collapse"> +This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... <a class="more2">See more</a> +</p> +<script> +$('#collapse2').click(function () { +if($('a').hasClass('more2')) +{ +$('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including concepts like photometers, light, etc. <a class="less2">See less<a>'); +} +else +{ +$('#collapse2').html('This ontology extends the SAREF ontology for the environment domain, specifically for the light pollution domain, including ... <a class="more2">See more</a>'); +} +}); +</script> +</td> +<input type="hidden" name="inp2" id="inp2" value="SAREF extension for environment-- environment-- light pollution-- photometer-- SAREF--"></tr> + + + +<tr id="tr3"> +<td><a href="https://w3id.org/def/saref4bldg#" target="_blank">SAREF extension for building devices</a> <a href="http://saref.linkeddata.es/ontologies/w3id.orgdefsaref4bldg.html" target=""><span class="glyphicon glyphicon-info-sign" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="More information about this ontology"></span></a></td> +<td> +<span class="label label-primary">html</span> +<span class="label label-primary">turtle</span> +<span class="label label-primary">xml</span> +<span class="label label-primary">N-Triples</span> +</td> +<td><a href="http://purl.org/NET/rdflicense/cc-by4.0" target="_blank"> <span class="label label-success">CC-by4.0</span> </a></td> + +<td> + <a href="hhttp://purl.org/net/mpoveda" target="_blank"> <span class="label label-default">MarÃa Poveda-Villalón</span> </a> + <a href="http://www.garcia-castro.com/foaf.rdf#me" target="_blank"> <span class="label label-default">Raúl GarcÃa-Castro</span> </a> +</td> + + +<td><a href="http://lexvo.org/id/iso639-3/eng" target="_blank"> <span class="label label-primary">en</span></a> </td> +<td><span class="label label-primary"> building</span> +<span class="label label-primary">building device</span> +<span class="label label-primary">device</span> +<span class="label label-primary">IFC</span> +<span class="label label-primary">SAREF</span> +</td> +<td> +<p id="collapse3" data-toggle="collapse"> +This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... <a class="more3">See more</a> +</p> +<script> +$('#collapse3').click(function () { +if($('a').hasClass('more3')) +{ +$('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in a building. This extension is based on the ISO 16739:2013 Industry Foundation Classes (IFC) standard for data sharing in the construction and facility management industries. The descriptions of the classes and properties extracted from IFC have been taken from the IFC documentation. <a class="less3">See less<a>'); +} +else +{ +$('#collapse3').html('This ontology extends the SAREF ontology for the building domain by defining building devices and how they are located in ... <a class="more3">See more</a>'); +} +}); +</script> +</td> +<input type="hidden" name="inp3" id="inp3" value="SAREF extension for building devices-- building-- building device-- device-- IFC-- SAREF--"></tr> + + +<tr id="tr4"> +<td><a href="https://w3id.org/saref4ener" target="_blank">SAREF extension for energy</a> <a href="http://saref.linkeddata.es/ontologies/w3id.orgsaref4ener.html" target=""><span class="glyphicon glyphicon-info-sign" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="More information about this ontology"></span></a></td> +<td> + <span class="label label-primary">html</span> +<span class="label label-primary">turtle</span> +</td> +<td><a href="http://purl.org/NET/rdflicense/cc-by4.0" target="_blank"> <span class="label label-success">CC-by4.0</span> </a></td> + +<td> + <a href="https://www.linkedin.com/in/lauradaniele" target="_blank"> <span class="label label-default">Laura Daniele</span> </a> + +</td> + +<td><a href="http://lexvo.org/id/iso639-3/eng" target="_blank"> <span class="label label-primary">en</span></a></td> +<td><span class="label label-primary">smart appliances</span> <span class="label label-primary">energy</span> +</td> +<td> +<p id="collapse4" data-toggle="collapse"> +SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... <a class="more4">See more</a> +</p> +<script> +$('#collapse4').click(function () { +if($('a').hasClass('more4')) +{ +$('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home (http://www.energy-home.it) and EEBus (http://www.eebus.org/en), the major Italy- and Germany-based industry associations, to enable the interconnection of their (different) data models. SAREF4ENER focuses on demand response scenarios, in which customers can offer flexibility to the Smart Grid to manage their smart home devices by means of a Customer Energy Manager (CEM). The CEM is a logical function for optimizing energy consumption and/or production that can reside either in the home gateway or in the cloud. SAREF4ENER is published as an ETSI tecnical specificatoion (ETSI TS 103 410-1). <a class="less1">See less<a>'); +} +else +{ +$('#collapse4').html('SAREF4ENER is an extension of SAREF for the Energy domain that was created in collaboration with Energy@Home ... <a class="more4">See more</a>'); +} +}); +</script> + + +</td> +<input type="hidden" name="inp1" id="inp1" value="SAREF: the Smart Appliances REFerence ontology-- smart appliances--"></tr> + +</tbody></table> +<hr> + <footer class="footer"> + <div class="row"> + <div class="col-md-10"> + Developed by <a href="http://oeg-upm.net/" target="_blank">Ontology Engineering Group</a> + <br> + Built with <a target="_blank" href="http://getbootstrap.com/">Bootstrap</a> + Icons from <a target="_blank" href="http://glyphicons.com/">Glyphicons</a> + <br> + Latest revision November, 2017 + <br><p>© Ontology Engineering Group</p> + </div> + <div class="col-md-2"> + <a href="http://www.oeg-upm.net/" target="_blank"><img src="SAREF%20ontologies_files/logo.gif" alt="OEG logo" class="img-rounded"></a> + </div> + </div> + </footer> + </div> <!-- /container --> +<script> +$(function() { +var availableTags = [ +"SAREF: the Smart Appliances REFerence ontology" +, " smart appliances", "SAREF extension for environment", " environment", " light pollution", " photometer", " SAREF", "SAREF extension for building devices", " building", " building device", " device", " IFC", "energy"]; +$( "#tags" ).autocomplete({ +source: availableTags, +select: function(event, ui) { +hideRows(ui.item.value); +} +}); +}); +</script> +<script> +function hideRows(text) { +index = 1; +tr = document.getElementById('tr'+index); +while (tr!=null){ +valores = document.getElementById('inp'+index).value; +if (valores.indexOf(text+'--')==-1){ +tr.style.display='none'; +} +index++; +tr = document.getElementById('tr'+index); +} +document.getElementById('remButt').style.display=''; +} + +function showRows() { +index = 1; +tr = document.getElementById('tr'+index); +while (tr!=null){ +tr.style.display=''; +index++; +tr = document.getElementById('tr'+index); +} +butt = document.getElementById('remButt').style.display='none'; +} +</script><script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create', 'UA-48904250-1', 'linkeddata.es'); +ga('send', 'pageview'); +</script> + + +<ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content" id="ui-id-1" tabindex="0" style="display: none;"></ul><span role="status" aria-live="assertive" aria-relevant="additions" class="ui-helper-hidden-accessible"></span></body></html> \ No newline at end of file diff --git a/src/main/resources/templates/footer.mustache b/src/main/resources/templates/footer.mustache new file mode 100644 index 0000000000000000000000000000000000000000..05c8644ceab135ea6c7616207a4a2d1d83492934 --- /dev/null +++ b/src/main/resources/templates/footer.mustache @@ -0,0 +1,51 @@ +<footer id="g-footer"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-15"> + <div class="g-content g-particle"> + <a href="https://www.etsi.org/" title="" class="g-logo g-logo-helium"> + <img src="https://forge.etsi.org/files/ETSI-Logo_BW_S_Office1.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-20"> + <div class="g-content g-particle">© ETSI 2019<br /><a style="font-size:10pt; color:white" href="https://www.etsi.org/">Visit ETSI website for more information on Terms & Conditions.</a></div> + </div> + <div class="g-block g-horizontalmenu size-40"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + <li class="g-menu-item g-menu-item-type-component g-menu-item-245 g-standard "> + <a class="g-menu-item-container" href="index.php/legal-matters"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Legal matters</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-url g-menu-item-247 g-standard "> + <a class="g-menu-item-container" href="mailto:cti_support@etsi.org?subject=[SAREF]"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Contact & Support</span> + </span> + </a> + </li> + </ul> + </nav> + </div> + </div> + <div class="g-block size-25"> + <div class="g-content g-particle"> + <div class=""> + <div class="g-totop"> + <a href="#" id="g-totop" rel="nofollow">Back to top <i class="fa fa-chevron-up fa-fw"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> +</footer> +</div> +</body> + +</html> diff --git a/src/main/resources/templates/header.mustache b/src/main/resources/templates/header.mustache new file mode 100644 index 0000000000000000000000000000000000000000..c33cccf2fa571fe359b27847c1f534eaaada0d66 --- /dev/null +++ b/src/main/resources/templates/header.mustache @@ -0,0 +1,154 @@ +<!DOCTYPE html> +<html lang="en-GB" dir="ltr"> + +<head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta charset="utf-8" /> + <meta name="author" content="Maxime Lefrançois" /> + <meta name="generator" content="Ontogit" /> + <title>SAREF - portal</title> + <link href="favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> + <link href="media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" /> + <link href="media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" /> + <link href="media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" /> + <link href="media/jui/css/icomoon.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" /> + <link href="templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" /> + <!-- <link rel="stylesheet" href="lode/primer.css" media="screen" /> --> + <link rel="stylesheet" href="lode/rec.css" media="screen" /> + <!-- <link rel="stylesheet" href="lode/extra.css" media="screen" /> --> + <!-- <link rel="stylesheet" href="lode/owl.css" media="screen" /> --> + <script src="templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script> + <script src="templates/g5_helium/js/juitabs.js"></script> + <script> + jQuery(window).on('load', function() { + new JCaption('img.caption'); + }); + </script> + <!--[if (gte IE 8)&(lte IE 9)]> + <script type="text/javascript" src="media/gantry5/assets/js/html5shiv-printshiv.min.js"></script> + <link rel="stylesheet" href="media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/> + <script type="text/javascript" src="media/gantry5/assets/js/matchmedia.polyfill.js"></script> + <![endif]--> + +</head> + + +<body class="gantry g-helium-style site com_content view-article no-layout no-task dir-ltr itemid-217 outline-19 g-offcanvas-left g-default g-style-preset1"> + <div id="g-offcanvas" data-g-offcanvas-swipe="1" data-g-offcanvas-css3="1"> + <div class="g-grid"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <div id="g-mobilemenu-container" data-g-menu-breakpoint="48rem"></div> + </div> + </div> + </div> + </div> + <div id="g-page-surround"> + <div class="g-offcanvas-hide g-offcanvas-toggle" data-offcanvas-toggle aria-controls="g-offcanvas" aria-expanded="false"><i class="fa fa-fw fa-bars"></i></div> + <section id="g-navigation"> + <div class="g-container"> + <div class="g-grid"> + <div class="g-block size-17"> + <div class="g-content g-particle"> + <a href="" title="" rel="home" class="g-logo g-logo-helium"> + <img src="images/logo-l.png" alt="" /> + </a> + </div> + </div> + <div class="g-block size-50"> + <div class="g-content g-particle"> + <nav class="g-main-nav" role="navigation" data-g-hover-expand="true"> + <ul class="g-toplevel"> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-217 active g-standard "> + <a class="g-menu-item-container" href="index.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Home</span> + </span> + </a> + </li> + + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SAREF core</span> + </span> + </a> + </li> + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="/home/omar/workspaceEmse/saref-portal-generator-omar-tests/public/resources.html"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Resources</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://forge.etsi.org/gitlab/SAREF/"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">Participate</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href=""> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">About us</span> + </span> + </a> + </li> + + <li class="g-menu-item g-menu-item-type-component g-menu-item-242 g-standard "> + <a class="g-menu-item-container" href="https://www.etsi.org/committee/smartm2m"> + <span class="g-menu-item-content"> + <span class="g-menu-item-title">SmartM2M</span> + </span> + </a> + </li> + + </ul> + </nav> + </div> + </div> + <div class="g-block g-social-header size-33"> + <div class="g-content g-particle"> + <div class="g-social "> + <a target="_blank" href="https://twitter.com/ETSI_STANDARDS" title="" aria-label=""> + <span class="fa fa-twitter fa-fw"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.facebook.com/etsi.standards" title="" aria-label=""> + <span class="fa fa-facebook-official"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.linkedin.com/company/etsi?trk=biz-companies-cym" title="" aria-label=""> + <span class="fa fa-linkedin-square"></span> <span class="g-social-text"></span> </a> + <a target="_blank" href="https://www.youtube.com/user/ETSIstandards" title="" aria-label=""> + <span class="fa fa-youtube-play"></span> <span class="g-social-text"></span> </a> + </div> + </div> + </div> + </div> + </div> + </section> + <header id="g-header"> + <div class="g-container"> + <div class="g-block size-100"> + <div class="g-content g-particle"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" + class="octicon octicon-link"></span></a>Smart Applications REFerence Ontology, and extensions</h1> + <p><strong>Official ETSI portal for SAREF</strong><br>This page contains pointers to the SAREF ontologies and SAREF-related work items</p> + <p><em><strong>Note:</strong> This portal is under construction. It was drafted in the context of <a href="https://portal.etsi.org//STF/STFs/STFHomePages/STF556" rel="nofollow">ETSI Specialist Task Force 556</a>. More effort is required + to automatize the portal content generation and deployment workflow.</em></p> + </div> + </div> + </div> + </header> diff --git a/src/main/resources/templates/index.mustache b/src/main/resources/templates/index.mustache new file mode 100644 index 0000000000000000000000000000000000000000..762414040c85eb488acb56a21d2893190f08dea6 --- /dev/null +++ b/src/main/resources/templates/index.mustache @@ -0,0 +1,22 @@ +{{> header}} + +<section id="introduction" class="g-wrapper"> + + <section id="introduction" class="g-wrapper"> + <div class="g-container"> + <h1> + <a id="user-content-smart-applications-reference-ontology-and-extensions" class="anchor" href="#smart-applications-reference-ontology-and-extensions" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a> + The results for your search query: + + </h1> + + <pre> + + {{searchResultsLabels}} + +</pre> + + </div> + + +{{> footer}} diff --git a/src/main/webapp/WEB-INF/lib/collection-0.7.jar b/src/main/webapp/WEB-INF/lib/collection-0.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..aa5de6b95fa45dd3ca55b4e9441db7f79ce7e8ab Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/collection-0.7.jar differ diff --git a/src/main/webapp/WEB-INF/lib/commons-cli-1.4.jar b/src/main/webapp/WEB-INF/lib/commons-cli-1.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..22deb3089e2f79a983406bd13a75a3e6238afdcf Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/commons-cli-1.4.jar differ diff --git a/src/main/webapp/WEB-INF/lib/commons-csv-1.5.jar b/src/main/webapp/WEB-INF/lib/commons-csv-1.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..eb4775e30a69db39506e055dd37deb1ea4732dc0 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/commons-csv-1.5.jar differ diff --git a/src/main/webapp/WEB-INF/lib/commons-io-2.6.jar b/src/main/webapp/WEB-INF/lib/commons-io-2.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..00556b119d45dd85a3c3073b1826916c3c60b9c4 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/commons-io-2.6.jar differ diff --git a/src/main/webapp/WEB-INF/lib/commons-lang3-3.4.jar b/src/main/webapp/WEB-INF/lib/commons-lang3-3.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..8ec91d454c31f73638de2994711a8487822247c1 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/commons-lang3-3.4.jar differ diff --git a/src/main/webapp/WEB-INF/lib/jena-text-3.14.0.jar b/src/main/webapp/WEB-INF/lib/jena-text-3.14.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..161330ad30ea24fd6312a10cdf1760a83598f713 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/jena-text-3.14.0.jar differ diff --git a/src/main/webapp/WEB-INF/lib/slf4j-api-1.7.25.jar b/src/main/webapp/WEB-INF/lib/slf4j-api-1.7.25.jar new file mode 100644 index 0000000000000000000000000000000000000000..0143c099699ee843cde6d95c9dbc7751039d2463 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/slf4j-api-1.7.25.jar differ diff --git a/src/main/webapp/WEB-INF/lib/xercesImpl-2.11.0.jar b/src/main/webapp/WEB-INF/lib/xercesImpl-2.11.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..0aaa990f3ecadf60d28b5395dc87bbe49da0cdd7 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/xercesImpl-2.11.0.jar differ diff --git a/src/main/webapp/WEB-INF/lib/xml-apis-1.4.01.jar b/src/main/webapp/WEB-INF/lib/xml-apis-1.4.01.jar new file mode 100644 index 0000000000000000000000000000000000000000..46733464fc746776c331ecc51061f3a05e662fd1 Binary files /dev/null and b/src/main/webapp/WEB-INF/lib/xml-apis-1.4.01.jar differ diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index a9d5b396375aa4c66e57762819638aa452c26a14..51d0684175ab870459f3a2ccf328491dacb280e4 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -18,4 +18,5 @@ </param-value> </init-param> </filter> + </web-app> \ No newline at end of file