<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Collaborative Filtering</title><link>https://sourceforge.net/p/recsparql/wiki/Collaborative%2520Filtering/</link><description>Recent changes to Collaborative Filtering</description><atom:link href="https://sourceforge.net/p/recsparql/wiki/Collaborative%20Filtering/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 23 May 2014 12:11:18 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/recsparql/wiki/Collaborative%20Filtering/feed" rel="self" type="application/rss+xml"/><item><title>Collaborative Filtering modified by Victor Anthony Arrascue Ayala</title><link>https://sourceforge.net/p/recsparql/wiki/Collaborative%2520Filtering/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -36,6 +36,8 @@
                     + "?uRating rdf:type resparql:UserRating. \n"
                     + "?user movies:hasRated ?personalRating .\n"
                     + "?personalRating movies:ratedMovie ?movie .\n"
+                    + "?user movies:hasRated ?personalRating .\n"
+                    + "?personalRating movies:hasRating ?uRating .\n"
                 + "}"
                 + "ORDER BY ASC(?user) DESC(?RATING)\n";

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Victor Anthony Arrascue Ayala</dc:creator><pubDate>Fri, 23 May 2014 12:11:18 -0000</pubDate><guid>https://sourceforge.neta9f39ce359e23cbe86049c385cec6c2e9a11d60e</guid></item><item><title>Collaborative Filtering modified by Victor Anthony Arrascue Ayala</title><link>https://sourceforge.net/p/recsparql/wiki/Collaborative%2520Filtering/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -23,19 +23,21 @@

         String queryString =
            "PREFIX resparql: \n"
-                    + "PREFIX movies: \n"
-                    + "RECOMMEND ?user ?movie ?user.REC ?movie.REC ?SIMscore ?RATING USING CF\n" 
-                    + "WHERE { \n"               
-                        + "?user movies:hasRated ?personalRating .\n"
-                        + "?personalRating movies:ratedMovie ?movie .\n"
-                    + "}\n"
-                    + "BASED ON {\n"
-                        + "?user rdf:type resparql:User."
-                        + "?movie rdf:type resparql:Item.   "
-                        + "?user movies:hasRated ?personalRating .\n"
-                        + "?personalRating movies:ratedMovie ?movie .\n"
-                    + "}"
-                    + "ORDER BY ASC(?user) DESC(?RATING)\n";
+                + "PREFIX movies: \n"
+                + "RECOMMEND ?user ?movie ?user.REC ?movie.REC ?SIMscore ?RATING USING CF\n" 
+                + "WHERE { \n"               
+                    + "?user movies:hasRated ?personalRating .\n"
+                    + "?personalRating movies:ratedMovie ?movie .\n"
+                    + "?personalRating movies:hasRating ?uRating \n"
+                + "}\n"
+                + "BASED ON {\n"
+                    + "?user rdf:type resparql:User. \n"
+                    + "?movie rdf:type resparql:Item.  \n"
+                    + "?uRating rdf:type resparql:UserRating. \n"
+                    + "?user movies:hasRated ?personalRating .\n"
+                    + "?personalRating movies:ratedMovie ?movie .\n"
+                + "}"
+                + "ORDER BY ASC(?user) DESC(?RATING)\n";

         TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.RESPARQL,
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Victor Anthony Arrascue Ayala</dc:creator><pubDate>Fri, 23 May 2014 12:10:14 -0000</pubDate><guid>https://sourceforge.netc1823cd0ca09ed9690834df4203903889bac7682</guid></item><item><title>Collaborative Filtering modified by Victor Anthony Arrascue Ayala</title><link>https://sourceforge.net/p/recsparql/wiki/Collaborative%2520Filtering/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This pages describes how to create and evaluate collaborative filtering queries. For more information on how to create a recommender repository see &lt;a class="alink" href="/p/recsparql/wiki/Repository/"&gt;[Repository]&lt;/a&gt;.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;openrdf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;repository&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Repository&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;openrdf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;repository&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;SailRecommenderRepository&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;openrdf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;memory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RecommenderMemoryStore&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;...&lt;/span&gt;

&lt;span class="n"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;//CREATION OF RECOMMENDER REPOSITORY myRepository&lt;/span&gt;
    &lt;span class="p"&gt;[...]&lt;/span&gt;
    &lt;span class="n"&gt;myRepository&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;initialize&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

    &lt;span class="c1"&gt;//ADDING TRIPLES TO YOUR SYSTEM&lt;/span&gt;
    &lt;span class="c1"&gt;//Use file &amp;quot;AliceBobMoviesExample.ttl&amp;quot; provided in the download section.&lt;/span&gt;
    &lt;span class="p"&gt;[...]&lt;/span&gt;

    &lt;span class="c1"&gt;//A writer serializes the results obtained from the evaluation&lt;/span&gt;
    &lt;span class="n"&gt;FileOutputStream&lt;/span&gt; &lt;span class="n"&gt;recResults&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;FileOutputStream&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt; &lt;span class="n"&gt;VALID&lt;/span&gt; &lt;span class="n"&gt;PATH&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="n"&gt;SPARQLResultsTSVWriter&lt;/span&gt; &lt;span class="n"&gt;sparqlWriter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; 
        &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;SPARQLResultsTSVWriter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;recResults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;queryString&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
        &lt;span class="s"&gt;&amp;quot;PREFIX resparql: &amp;lt;http://example.org/resparql#&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;PREFIX movies: &amp;lt;http://example.org/movies#&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;RECOMMEND ?user ?movie ?user.REC ?movie.REC ?SIMscore ?RATING USING CF&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt; 
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;WHERE { &lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;               
                    &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;?user movies:hasRated ?personalRating .&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                    &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;?personalRating movies:ratedMovie ?movie .&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;BASED ON {&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                    &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;?user rdf:type resparql:User.&amp;quot;&lt;/span&gt;
                    &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;?movie rdf:type resparql:Item.   &amp;quot;&lt;/span&gt;
                    &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;?user movies:hasRated ?personalRating .&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                    &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;?personalRating movies:ratedMovie ?movie .&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;}&amp;quot;&lt;/span&gt;
                &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;ORDER BY ASC(?user) DESC(?RATING)&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;TupleQuery&lt;/span&gt; &lt;span class="n"&gt;tupleQuery&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;con&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;prepareTupleQuery&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;QueryLanguage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RESPARQL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;queryString&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;            
    &lt;span class="n"&gt;tupleQuery&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sparqlWriter&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="p"&gt;[...]&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;RepositoryException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;OpenRDFException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;printStackTrace&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;finally&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;con&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Victor Anthony Arrascue Ayala</dc:creator><pubDate>Fri, 23 May 2014 12:08:18 -0000</pubDate><guid>https://sourceforge.net50896f76940321b3f9f8b22fe2c6e977c372001c</guid></item></channel></rss>