/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.jena.larq.examples; import org.apache.jena.larq.IndexLARQ; import org.apache.jena.atlas.lib.StrUtils; import com.hp.hpl.jena.query.ARQ; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.sparql.util.Utils; /** Example code to load a model from a file, * index all string literals, * then execute a SPARQL query with a Lucene search in it that * finds which documents have DC titles */ public class ExLucene2 { public static void main(String[] a) throws Exception { System.out.println("ARQ Example: "+Utils.classShortName(ExLucene2.class)) ; System.out.println("ARQ: "+ARQ.VERSION) ; System.out.println() ; Model model = ModelFactory.createDefaultModel() ; IndexLARQ index = ExLucene1.buildIndex(model, "src/test/resources/LARQ/data-1.ttl") ; // Search for string String searchString = "+document" ; // This time, find documents with a matching DC title. String queryString = StrUtils.strjoin("\n", "PREFIX pf: ", "PREFIX xsd: " , "PREFIX dc: ", "PREFIX : " , "SELECT ?doc ?title {" , " ?title pf:textMatch '"+searchString+"'.", " ?doc dc:title ?title", "}") ; // Two of three documents should match. ExLucene1.performQuery(model, index, queryString) ; index.close() ; } }