This is an experimental vocabulary for describing preferences within contexts, initially developed at VoCamp Bristol 2009 to meet requirements coming from the NoTube project.
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.
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)> .
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 .
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) .
}