Weighted Interest Vocabulary

This is an experimental vocabulary for describing preferences within contexts, initially developed at VoCamp Bristol 2009 to meet requirements coming from the NoTube project.

Namespace Document 24 December 2009 - first draft

This version (latest):
http://xmlns .com/wi/spec/20091224.html
Namespace:
http://xmlns.com/wi#
Authors:
Libby Miller, Dan Brickley, Dave Reynolds, Toby Inkster.
Contributors:
Members of the NoTube Project (NoTube) and the wider RDF and SemWeb developer community. See acknowledgements.
%s image of the schema

Other versions:

Creative Commons License This work is licensed under a Creative Commons Attribution License. This copyright applies to the Weighted Interests RDF Vocabulary Specification and accompanying documentation in RDF. This uses W3C's RDF technology, an open Web standard that can be freely used by anyone.


Introduction

The weighted interests vocabulary allows you to describe groups of ordered preferences, i.e. to describe that an agent prefers one thing to another. It can also be used to say that an agent is not interested in something.

Here's an example in words:

I prefer radio 4 over radio 5 when I am working at home (which is every weekday between 8am and 7pm).

and the same example using the vocabulary:

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix wi: <http://xmlns.com/wi#> .
@prefix days: <http://ontologi.es/days#> .
@prefix tl: <http://perl.org/NET/c4dm/timeline.owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://xmlns.com/wi#> .
    <http://swordfish.rdfweb.org/people/libby/rdfweb/webwho.xrdf#me>
    a foaf:Person;
    foaf:name "Libby Miller";
    wi:preference [
      a wi:WeightedInterest;
      wi:topic <http://www.bbc.co.uk/5live#service>;
      wi:weight "3";
      wi:scale "0..9";
      wi:context <#working>
      ] ;
    wi:preference [
      a wi:WeightedInterest;
      wi:topic <http://www.bbc.co.uk/radio4#service>;
      wi:weight "7";
      wi:scale "0..9";
      wi:context <#working> .
      ] .
   <#working> a wi:Context;
       wi:timePeriod [
          a days:WeekdayInterval;
          tl:at "08:00:00"^^xsd:time ;
          tl:end "19:00:00"^^xsd:time .
       ] .

Another example:

I hate the X-Factor

In the vocabulary:

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix wi: <http://xmlns.com/wi#> .
    <http://swordfish.rdfweb.org/people/libby/rdfweb/webwho.xrdf#me>
    a foaf:Person;
    foaf:name "Libby Miller";
    wi:notInterestedIn <http://en.wikipedia.org/wiki/The_X_Factor_(UK)> .

Aims

The aim of this experimental vocabulary to provide filtering services with a summary of a user's preferences when they are in different environments. It can be combined or used instead of straightforward foaf interest profiles, and be combined with and used instead of information traditionally used to make recommendations to users, in particular age, gender, location.

For example:

@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix progs: <http://purl.org/ontology/po/> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

    <http://swordfish.rdfweb.org/people/libby/rdfweb/webwho.xrdf#me>
    a foaf:Person;
    foaf:name "Libby Miller";
    foaf:gender "female";
    foaf:based_near [ geo:lat 48.402495; geo:long 2.692646 ];
    foaf:interest <http://dbpedia.org/resource/Stephen_Fry>;
    foaf:interest <http://www.bbc.co.uk/programmes/b006qpmv#programme>;
    foaf:interest <http://www.bbc.co.uk/programmes/b00lvdrj#programme>; 
    foaf:interest <http://www.bbc.co.uk/programmes/b00hg8dq#programme>;
    foaf:interest <http://www.bbc.co.uk/programmes/b006qykl#programme>;
    foaf:interest <http://www.bbc.co.uk/5live#service>;
    foaf:interest <http://www.bbc.co.uk/radio4#service> ;
    foaf:interest <http://www.bbc.co.uk/programmes/genres/factual> ;
    foaf:interest <http://www.bbc.co.uk/programmes/genres/factual/artscultureandthemedia> ;
    foaf:interest <http://dbpedia.org/resource/1980s_in_music> .
    
   <http://dbpedia.org/resource/Stephen_Fry> a foaf:Person .
   <http://www.bbc.co.uk/programmes/b006qpmv#programme> a progs:Brand .
   <http://www.bbc.co.uk/programmes/b00lvdrj#programme> a progs:Brand . 
   <http://www.bbc.co.uk/programmes/b00hg8dq#programme> a progs:Brand .
   <http://www.bbc.co.uk/programmes/b006qykl#programme>> a progs:Brand .
   <http://www.bbc.co.uk/5live#service> a progs:Service .
   <http://www.bbc.co.uk/radio4#service> a progs:Service .
   <http://www.bbc.co.uk/programmes/genres/factual> a progs:Genre .
   <http://www.bbc.co.uk/programmes/genres/factual/artscultureandthemedia> a progs:Genre .
   <http://dbpedia.org/resource/1980s_in_music> a skos:Concept .

Modelling technique

Comparisons

Contexts

Classes and Properties (summary)

%s %s

Validation query

 PREFIX xsd:  <http://www.w3.org/2001/XMLSchema#>
 PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 PREFIX foaf:   <http://xmlns.com/foaf/0.1/>
 PREFIX activ:  <http://www.bbc.co.uk/ontologies/activity/>
 PREFIX wi: <http://xmlns.com/wi#>
 PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
 PREFIX days: <http://ontologi.es/days#>
 PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

 ASK {
   ?agent rdf:type foaf:agent .
   ?agent wi:preference ?wi

   ?wi rdf:type wi:WeightedInterest .
   ?wi wi:topic ?topic .

   OPTIONAL {?topic rdf:type foaf:Document .}
   OPTIONAL {?topic rdf:type skos:Concept .}

   ?wi wi:hasContext ?context .

   OPTIONAL {?context wi:timePeriod ?period . }
   OPTIONAL {?context wi:location ?location . ?location rdf:type geo:spatialThing .}
   OPTIONAL {?context wi:device ?device . ?device rdf:type foaf:Document .}

   FILTER ( bound(?period) || bound(?location) || bound(?device))

   OPTIONAL {?wi wi:evidence ?evidence . ?evidence rdf:type foaf:Document .}
  
   ?wi wi:weight ?weight .
   ?wi wi:scale ?scale .

   FILTER (datatype(?scale) = xsd:string) .
   FILTER (datatype(?weight) = xsd:int) .
 }