30

Counter Ontology


The Counter Ontology specification provides basic concepts and properties for describing a general counter concept and some important sub counters, e.g. an event counter, on/ for the Semantic Web. The Counter Ontology includes a general multiple purpose counter concept. This concept could be uses to associate any concept to a co:Counter instance(s) with the property co:counter or a specific sub property of it. The second property of co:Counter is co:count, which is a simple xsd:integer based datatype property. That means you could use this concept for things like for example play counter, skip counter or website hit counter. Furthermore, this ontology includes already a predefined property to associate event specific ( event:Event) counter to its related events (co:event_counter,), e.g. a co:ScrobbleEvent to scrobble something. This enables the opportunity to trace back all related events, which are responsible for a specific count. Of course, this is also possible with all other concepts 😉

Examples

Add another example.

Webpage Counter

This examples shows, how a co:Counter instance could be used as a counter for a specific webpage (here of the type bibo:Document). more…

@prefix bibo:    <http://purl.org/ontology/bibo/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix co:      <http://purl.org/ontology/co/core#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix ex:      <http://example.org/> .
 
ex:WebpageCounter a co:Counter ;
   dc:title "Webpage Counter"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   dc:description "A counter of a specific web page"^^xsd:string ;
   co:count "10"^^xsd:integer .
 
<http://smiy.wordpress.com/> a bibo:Document ;
   co:counter ex:WebpageCounter .

Play Back and Skip Counter Example

This examples shows, how co:Counter could be specified as a play back counter (pbo:PlayBackCounter) and as a skip counter (pbo:SkipCounter) for a specific music track (here of the type mo:Track), related by the property pbo:media_object. Each time, when this specific music track was played, a co:ScrobbleEvent instance was created and linked to its play back counter with the property co:event_counter. This happened also, when this specific music track was skipped. The only difference is that such an event is related to its skip counter pbo:SkipCounter. To describe a scrobble events more in detail (besides event:time and event:agent), one can add properties such as co:application (to describe the application, which is related to the scrobbling activity, e.g. ex:iTunes) or co:device (to describe the device, which is related to the scrobbling activity, e.g. ex:MyPC). more…

@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix co:      <http://purl.org/ontology/co/core#> .
@prefix pbo:     <http://purl.org/ontology/pbo/core#> .
@prefix mo:      <http://purl.org/ontology/mo/> .
@prefix ex:      <http://example.org/> .
@prefix event:   <http://purl.org/NET/c4dm/event.owl#> .
@prefix time:    <http://www.w3.org/2006/time#> .
@prefix am:      <http://vocab.deri.ie/am#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
 
ex:PlayBackCounter a pbo:PlayBackCounter ;
   dc:title "Play Back Counter"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   dc:description "A play back counter of a specific music track"^^xsd:string ;
   co:count "2"^^xsd:integer ;
   pbo:media_object ex:SexMachine .
 
ex:SkipCounter a pbo:SkipCounter ;
   dc:title "Skip Counter"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   dc:description "A skip counter of a specific music track"^^xsd:string ;
   co:count "1"^^xsd:integer ;
   pbo:media_object ex:SexMachine .	  
 
ex:SexMachine a mo:Track ;
   dc:title "Sex Machine"^^xsd:string ;
   dc:creator <http://dbpedia.org/resource/James_Brown> .
 
ex:SexMachineSE1 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:21:52+01:00"^^xsd:dateTime 
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:application ex:iTunes ;
   co:device ex:MyPC ;
   co:event_counter ex:PlayBackCounter .
 
ex:SexMachineSE2 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:27:52+01:00"^^xsd:dateTime
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:application ex:iTunes ;
   co:device ex:MyPC ;
   co:event_counter ex:PlayBackCounter .
 
ex:SexMachineSE3 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:35:52+01:00"^^xsd:dateTime
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:application ex:iTunes ;
   co:device ex:MyPC ;
   co:event_counter ex:SkipCounter .
 
ex:iTunes a am:Application .
 
ex:MyPC a owl:Thing .

Play Back Counter

This examples shows, how a co:Counter instance could be used as a play back counter for a specific music track (here of the type mo:Track). Each time, when this specific music track was played, a co:ScrobbleEvent instance was created and linked to its playback counter with the property co:event_counter. more…

@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix co:      <http://purl.org/ontology/co/core#> .
@prefix mo:      <http://purl.org/ontology/mo/> .
@prefix ex:      <http://example.org/> .
@prefix event:   <http://purl.org/NET/c4dm/event.owl#> .
@prefix time:    <http://www.w3.org/2006/time#> .
 
ex:PlayBackCounter a co:Counter ;
   dc:title "Play Back Counter"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   dc:description "A play back counter of a specific music track"^^xsd:string ;
   co:count "2"^^xsd:integer ;
   co:object ex:SexMachine .
 
ex:SexMachine a mo:Track ;
   dc:title "Sex Machine"^^xsd:string ;
   dc:creator <http://dbpedia.org/resource/James_Brown> .
 
ex:SexMachineSE1 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:21:52+01:00"^^xsd:dateTime 
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:event_counter ex:PlayBackCounter .
 
ex:SexMachineSE2 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:27:52+01:00"^^xsd:dateTime
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:event_counter ex:PlayBackCounter .