@prefix : <http://purl.org/sembeacon/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://purl.org/sembeacon/> .

<http://purl.org/sembeacon/> rdf:type owl:Ontology ;
                              owl:versionIRI <http://purl.org/sembeacon/1.0/> ;
                              owl:imports <http://purl.org/poso/1.0/> ,
                                          <http://purl.org/poso/1.0/common/> ;
                              <http://purl.org/dc/terms/abstract> "Discovering smart devices in the physical world often requires some type of indoor positioning system. Bluetooth Low Energy~(BLE) beacons are a well-established technique to create scalable low-cost positioning systems for indoor navigation, tracking and location awareness. While various BLE~specifications aim to provide a generic way to uniquely identify a beacon and optionally detect its location, they are either deployment specific or do not broadcast enough information to be used without an additional database containing the locations of installed beacons. In this paper, we present a novel BLE~advertising solution and semantic ontology called SemBeacon. Our proposed specification is backwards compatible with existing specifications such as iBeacon, Eddystone and AltBeacon. With the help of a prototype application, we demonstrate how SemBeacon enables the creation of real-time positioning systems that can describe their location as well as the environment in which they are located. Other than Eddystone-URL beacons, which were originally used in the Physical Web project by Google and broadcast web pages of physical objects these beacons are attached to, SemBeacon is a specification that broadcasts semantic data about the environment and positioning systems that are available within a beacon's proximity."@en ;
                              <http://purl.org/dc/terms/bibliographicCitation> "Maxim Van de Wynckel and Beat Signer, SemBeacon: A Semantic Proximity Beacon Solution for Discovering and Detecting the Position of Physical Things" ;
                              <http://purl.org/dc/terms/contributor> "Beat Signer"@en ;
                              <http://purl.org/dc/terms/creator> "Maxim Van de Wynckel"@en ;
                              <http://purl.org/dc/terms/description> "This ontology provides the terminologies used for describing SemBeacons." ;
                              <http://purl.org/dc/terms/license> <http://purl.org/NET/rdflicense/MIT1.0> ;
                              <http://purl.org/dc/terms/modified> "2023-10-28T00:00:00"^^xsd:dateTime ;
                              <http://purl.org/dc/terms/title> "SemBeacon: A Semantic Proximity Beacon Solution for Discovering and Detecting the Position of Physical Things"@en ;
                              <http://purl.org/vocab/vann/preferredNamespacePrefix> "sembeacon" ;
                              <http://purl.org/vocab/vann/preferredNamespaceUri> "http://purl.org/sembeacon/"^^xsd:anyURI .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/terms/abstract
<http://purl.org/dc/terms/abstract> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/bibliographicCitation
<http://purl.org/dc/terms/bibliographicCitation> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/contributor
<http://purl.org/dc/terms/contributor> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/creator
<http://purl.org/dc/terms/creator> 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/license
<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/modified
<http://purl.org/dc/terms/modified> 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 .


###  http://www.w3.org/2004/02/skos/core#example
<http://www.w3.org/2004/02/skos/core#example> rdf:type owl:AnnotationProperty .


#################################################################
#    Object Properties
#################################################################

###  http://purl.org/sembeacon/namespace
:namespace rdf:type owl:ObjectProperty ;
           rdfs:domain <http://purl.org/poso/BluetoothBeacon> ;
           rdfs:range <http://www.w3.org/ns/ssn/Deployment> ;
           rdfs:comment "The namespace property directs to the deployment containing all sensors deployed in this namespace."@en ;
           rdfs:label "namespace"@en .


#################################################################
#    Data properties
#################################################################

###  http://purl.org/sembeacon/instanceId
:instanceId rdf:type owl:DatatypeProperty ;
            rdfs:domain :SemBeacon ;
            rdfs:range xsd:hexBinary ,
                       [ rdf:type rdfs:Datatype ;
                         owl:onDatatype xsd:hexBinary ;
                         owl:withRestrictions ( [ xsd:maxLength "8"^^xsd:int
                                                ]
                                              )
                       ] ;
            rdfs:comment "An instance identifier is the 32-bit UUID that defines the instance of a SemBeacon within a namespace."@en ;
            rdfs:label "Instance ID"@en .


###  http://purl.org/sembeacon/namespaceId
:namespaceId rdf:type owl:DatatypeProperty ;
             rdfs:domain <http://purl.org/poso/BluetoothBeacon> ,
                         <http://www.w3.org/ns/ssn/Deployment> ;
             rdfs:range [ rdf:type rdfs:Datatype ;
                          owl:onDatatype xsd:hexBinary ;
                          owl:withRestrictions ( [ xsd:maxLength "32"^^xsd:int
                                                 ]
                                               )
                        ] ;
             rdfs:comment "A namespace identifier is the 128-bit UUID that defines the namespace of a SemBeacon."@en ;
             rdfs:label "Namespace ID"@en .


###  http://purl.org/sembeacon/shortResourceURI
:shortResourceURI rdf:type owl:DatatypeProperty ;
                  rdfs:domain :SemBeacon ;
                  rdfs:range xsd:anyURI ;
                  rdfs:comment "Shortened resource URI. The resource URI should resolve to the full resource URI of the resource that this predicate is used in."@en ;
                  rdfs:label "Short resource URI"@en ;
                  <http://www.w3.org/2004/02/skos/core#example> "https://tinyurl.com/5jxncuvy"@en .


###  http://purl.org/sembeacon/version
:version rdf:type owl:DatatypeProperty ;
         rdfs:domain :SemBeacon ;
         rdfs:range xsd:string ;
         rdfs:comment "SemBeacon version"@en ;
         rdfs:label "version"@en ;
         <http://www.w3.org/2004/02/skos/core#example> "1.0"@en .


#################################################################
#    Classes
#################################################################

###  http://purl.org/poso/BluetoothBeacon
<http://purl.org/poso/BluetoothBeacon> rdf:type owl:Class .


###  http://purl.org/sembeacon/SemBeacon
:SemBeacon rdf:type owl:Class ;
           rdfs:subClassOf <http://purl.org/poso/BluetoothBeacon> ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty <http://purl.org/poso/common/hasReferenceRSSI> ;
                             owl:minCardinality "1"^^xsd:nonNegativeInteger
                           ] ;
           rdfs:comment "SemBeacon is a semantic beacon that broadcasts an URI describing its position and references its deployment."@en ;
           rdfs:label "SemBeacon"@en ;
           rdfs:seeAlso "https://sembeacon.org/"^^xsd:anyURI .


###  http://www.w3.org/ns/ssn/Deployment
<http://www.w3.org/ns/ssn/Deployment> rdf:type owl:Class .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
