KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jena > examples > rdql > rdql_code3


1 /*
2  * (c) Copyright 2002, 2003 Hewlett-Packard Development Company, LP
3  * [See end of file]
4  */

5 package jena.examples.rdql ;
6
7 import com.hp.hpl.jena.rdf.model.* ;
8 import com.hp.hpl.jena.rdql.* ;
9
10 import java.util.* ;
11 import java.io.* ;
12
13 public class rdql_code3
14 {
15     static public void main(String JavaDoc[] argv)
16     {
17         try {
18             Model model = ModelFactory.createDefaultModel() ;
19             model.read(new FileInputStream("vc-db-1.rdf"),
20                        "http://nowhere/",
21                        "RDF/XML") ;
22
23             String JavaDoc queryString = "SELECT ?x, ?fname "+
24             "WHERE (?x, <http://www.w3.org/2001/vcard-rdf/3.0#FN>, ?fname)" ;
25
26             Query query = new Query(queryString) ;
27             query.setSource(model);
28             QueryExecution qe = new QueryEngine(query) ;
29
30             QueryResults results = qe.exec() ;
31             for ( Iterator iter = results ; iter.hasNext() ; )
32             {
33                 ResultBinding res = (ResultBinding)iter.next() ;
34                 Resource r = (Resource)res.get("x") ;
35                 Literal l = (Literal)res.get("fname") ;
36                 System.out.println("Resource: "+r+" Literal: "+l);
37                 for ( StmtIterator sIter = r.listProperties(); sIter.hasNext() ; )
38                 {
39                     Statement s = sIter.nextStatement() ;
40                     System.out.println(" Predicate: "+s.getPredicate()) ;
41                 }
42                 break ;
43             }
44             // Always close result iterator - frees work space.
45
results.close() ;
46             
47         } catch (Exception JavaDoc ex)
48         {
49             System.err.println("Exception: "+ex) ;
50             ex.printStackTrace(System.err) ;
51         }
52     }
53 }
54
55 /*
56  * (c) Copyright 2002, 2003 Hewlett-Packard Development Company, LP
57  * All rights reserved.
58  *
59  * Redistribution and use in source and binary forms, with or without
60  * modification, are permitted provided that the following conditions
61  * are met:
62  * 1. Redistributions of source code must retain the above copyright
63  * notice, this list of conditions and the following disclaimer.
64  * 2. Redistributions in binary form must reproduce the above copyright
65  * notice, this list of conditions and the following disclaimer in the
66  * documentation and/or other materials provided with the distribution.
67  * 3. The name of the author may not be used to endorse or promote products
68  * derived from this software without specific prior written permission.
69  *
70  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
71  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
72  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
73  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
74  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
75  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
76  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
77  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
78  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
79  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
80  */

81
Popular Tags