> * For sophisticated RDF query, > $ cd RDFAdapter > $ ./beagle-semweb-client > => this currently lists all triples > RDFAdapter uses a Semweb [2] adapter to talk to beagle. So, you can create > any > RDF query structure supported by Semweb (e.g. SPARQL). SemWebClient.cs is a > simple app asking for all triples. It should be possible to run any kind of > Semweb queries (edit SemwebClient.cs or write your own client using the > SelectableSource provided in BeagleSource.cs). using the BeagleSource, you actually have to use the properties as they are printed by beagle-dump-index --fields, so for instance prop:k:beagle:MimeType
Attached you can find the SemWebClient.cs extended by some example queries. @dBera: I would suggest to modify the RDFQuery so that it only takes subject, predicate and object, where the predicate is the one dumped by beagle-dump-index --fields. The property type can then be derived from the property name. I know that this exposes the internal property name like prop:k:beagle:MimeType but since users of the RDFQuery have to specify Text, Keyword or Internal anyways, they can take the long property name in the first place. This makes things easier. So this would then mean to move BeagleSource.cs line 79-93 into the RDFQuery constructor. If you agree on this, I will prepare the respective changes tomorrow. Cheers, Enrico M.
Index: SemWebClient.cs =================================================================== --- SemWebClient.cs (Revision 4490) +++ SemWebClient.cs (Arbeitskopie) @@ -29,9 +29,23 @@ public class SemWebClient { public static void Main (string[] args) { + System.Console.Out.WriteLine(); + System.Console.Out.WriteLine("Querying for all Triples with MimeType:"); + query(new Statement(null, new Entity("prop:k:beagle:MimeType"), null)); + + System.Console.Out.WriteLine(); + System.Console.Out.WriteLine("Querying for all Triples with FileSize:"); + query(new Statement(null, new Entity("prop:k:fixme:filesize"), null)); + + System.Console.Out.WriteLine(); + System.Console.Out.WriteLine("Querying for all Triples:"); + query(Statement.All); + } + + public static void query(Statement filter) { RdfWriter writer = new N3Writer (System.Console.Out); SelectableSource source = new BeagleSource(); - source.Select (Statement.All, writer); + source.Select (filter, writer); writer.Close (); } }
_______________________________________________ Dashboard-hackers mailing list Dashboard-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/dashboard-hackers