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 .notu.be/wi/spec/20091224.html
Namespace:
http://xmlns.notu.be/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.

Classes: | Context | DocumentsAndConcepts | TimeIntervalsAndInstants | WeightedInterest |

Properties: | device | evidence | hasContext | location | notInterestedIn | preference | scale | timePeriod | topic | weight |

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.notu.be/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.notu.be/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.notu.be/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)

Classes: | Context | DocumentsAndConcepts | TimeIntervalsAndInstants | WeightedInterest |

Properties: | device | evidence | hasContext | location | notInterestedIn | preference | scale | timePeriod | topic | weight |

Classes and Properties (full detail)


Classes

Class: wi:Context

A Context object - A context object
Status: unstable
Properties include: evidence location timePeriod device
Used with: hasContext

[#] [back to top]


Class: wi:DocumentsAndConcepts

Documents and concepts - The union of documents and concepts
Status: unstable
Used with: notInterestedIn topic

[#] [back to top]


Class: wi:TimeIntervalsAndInstants

Intervals and instants - The union of all days intervals and instants
Status: unstable
Used with: timePeriod

[#] [back to top]


Class: wi:WeightedInterest

A Weighted Interest - A weighted interest object
Status: unstable
Properties include: hasContext topic scale weight
Used with: preference
This is one of a number of preferences held by a user, which are grouped using a context, and ordered within the context using the weight and scale.

[#] [back to top]


Properties

Property: wi:device

A device - A document describing a device
Status: unstable
Domain: A Context object
Range: Document

[#] [back to top]


Property: wi:evidence

Evidence - A link between a context and evidence supporting the interpretation fo preferences in a context
Status: unstable
Domain: A Context object
Range: Document
This could be a feed or a sparql query over http for example. It's not required that a reasoner can use the evidence to derive the preferences from the evidence.

[#] [back to top]


Property: wi:hasContext

A context - A link between a WeightedInterest and Context
Status: unstable
Domain: A Weighted Interest
Range: A Context object

[#] [back to top]


Property: wi:location

A location - A context location
Status: unstable
Domain: A Context object

[#] [back to top]


Property: wi:notInterestedIn

Something of no interest - A link between an agent and a topic of no interest to them
Status: unstable
Domain: Agent
Range: Documents and concepts

[#] [back to top]


Property: wi:preference

A preference - A link between an agent and a weighted interest
Status: unstable
Domain: Agent
Range: A Weighted Interest
Preference points to a WeightedInterest object.

[#] [back to top]


Property: wi:scale

Scale - The scale with respect to the weight - of the form 0..9. Scale can be any range of integers.
Status: unstable
Domain: A Weighted Interest
Range: String

[#] [back to top]


Property: wi:timePeriod

A time period - A time period of a context
Status: unstable
Domain: A Context object
Range: Intervals and instants

[#] [back to top]


Property: wi:topic

A topic - A topic of the weighted interest
Status: unstable
Domain: A Weighted Interest
Range: Documents and concepts

[#] [back to top]


Property: wi:weight

Weight - The weight on the topic
Status: unstable
Domain: A Weighted Interest
Range: Integer

[#] [back to top]


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 aair:  <http://xmlns.notu.be/aair/>
 PREFIX wi: <http://xmlns.notu.be/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) .
 }

Recent Changes