diff --git a/.classpath b/.classpath index 95ff3dba7..17efaa49f 100644 --- a/.classpath +++ b/.classpath @@ -51,5 +51,9 @@ + + + + diff --git a/addon/YaCy.app/Contents/Info.plist b/addon/YaCy.app/Contents/Info.plist index da5ae6bde..cbf9172d8 100644 --- a/addon/YaCy.app/Contents/Info.plist +++ b/addon/YaCy.app/Contents/Info.plist @@ -40,6 +40,7 @@ $JAVAROOT/lib/activation.jar $JAVAROOT/lib/apache-mime4j-0.6.jar $JAVAROOT/lib/apache-solr-solrj-3.6.0.jar + $JAVAROOT/lib/arq-2.8.7.jar $JAVAROOT/lib/bcmail-jdk15-145.jar $JAVAROOT/lib/bcprov-jdk15-145.jar $JAVAROOT/lib/commons-codec-1.6.jar @@ -56,11 +57,13 @@ $JAVAROOT/lib/httpcore-4.2.jar $JAVAROOT/lib/httpmime-4.2.jar $JAVAROOT/lib/icu4j-core.jar + $JAVAROOT/lib/iri-0.8.jar $JAVAROOT/lib/J7Zip-modified.jar $JAVAROOT/lib/jakarta-oro-2.0.8.jar $JAVAROOT/lib/jcifs-1.3.15.jar $JAVAROOT/lib/jcl-over-slf4j-1.6.1.jar $JAVAROOT/lib/jempbox-1.6.0.jar + $JAVAROOT/lib/jena-2.6.4.jar $JAVAROOT/lib/jsch-0.1.42.jar $JAVAROOT/lib/json-simple-1.1.jar $JAVAROOT/lib/log4j-1.2.16.jar @@ -69,6 +72,7 @@ $JAVAROOT/lib/pdfbox-1.6.0.jar $JAVAROOT/lib/poi-3.6-20091214.jar $JAVAROOT/lib/poi-scratchpad-3.6-20091214.jar + $JAVAROOT/lib/sax-2.0.1.jar $JAVAROOT/lib/servlet-api.jar $JAVAROOT/lib/slf4j-api-1.6.1.jar $JAVAROOT/lib/slf4j-jdk14-1.6.1.jar diff --git a/build.xml b/build.xml index 602b769f7..fc5c83f80 100644 --- a/build.xml +++ b/build.xml @@ -158,6 +158,7 @@ + @@ -174,11 +175,13 @@ + + @@ -187,6 +190,7 @@ + @@ -246,6 +250,8 @@ + + diff --git a/defaults/yacy.init b/defaults/yacy.init index 671d72a7d..ac83868db 100644 --- a/defaults/yacy.init +++ b/defaults/yacy.init @@ -1050,4 +1050,38 @@ federated.service.yacy.indexing.enabled = true federated.service.solr.indexing.enabled = false federated.service.solr.indexing.url = http://127.0.0.1:8983/solr federated.service.solr.indexing.sharding = MODULO_HOST_MD5 -federated.service.solr.indexing.schemefile = solr.keys.default.list +federated.service.solr.indexing.schemefile = solr.keys.default.list + +# RDF triplestore settings +triplestore.persistent = false + +# Augmentation settings +parserAugmentation = true +proxyAugmentation = false +augmentation.reflect = false +augmentation.addDoctype = false +augmentation.reparse = false + +# Interaction settings +interaction.feedback.enabled = true +interaction.feedback.url = +interaction.feedback.accept = false +interaction.usertracking.enabled = true +interaction.addcontent.enabled = false +interaction.userlogon.enabled = false +interaction.approvelist.enabled = false +interaction.suggestrejected.enabled = false +interaction.overlayinteraction.enabled = false + +interaction.globalmenu.enabled = true +interaction.portalconfigbutton.enabled = true +interaction.crawltraces.enabled = false +interaction.userselfregistration.enabled = false +interaction.forcebookmarkimport = +interaction.visiblecategories = all + +interaction.dontimportbookmarks = + +interaction.autocrawler.enabled = false +interaction.autocrawler.domainfilter = .* +interaction.autocrawler.categoryfilter = .* diff --git a/htroot/Triple_p.html b/htroot/Triple_p.html new file mode 100644 index 000000000..f00d2cfa4 --- /dev/null +++ b/htroot/Triple_p.html @@ -0,0 +1,119 @@ + + + + YaCy '#[clientname]#': Triplestore + #%env/templates/metas.template%# + + #%env/templates/jqueryheader.template%# + + + + + #%env/templates/header.template%# + + + #(mode)# +
+ +

Search RDF

+
+ + + + +
+ + + + + +
+
+ + + +
+

or import RDF from local filesystem

+
+ + + + + +
+
+ + +
+

Query

+
+ + + + + +
+
+

+ + + #{entries}# + + + #{/entries}# + + + + +
+

Result

+ + #[rdfdump]# +
+
+ + #{output}##[caption]# + #{/output}# +
+ + :: + +

Access denied

+

To edit or create experiment entries you need to be logged in as Administrator.

+ + + #(/mode)# + #%env/templates/footer.template%# + + diff --git a/htroot/Triple_p.java b/htroot/Triple_p.java new file mode 100644 index 000000000..2662cbf28 --- /dev/null +++ b/htroot/Triple_p.java @@ -0,0 +1,135 @@ + +import java.io.ByteArrayOutputStream; +import java.net.MalformedURLException; +import java.util.List; + +import net.yacy.cora.protocol.RequestHeader; +import net.yacy.interaction.TripleStore; +import net.yacy.kelondro.data.meta.DigestURI; +import net.yacy.search.Switchboard; + + +import de.anomic.http.server.HTTPDemon; +import de.anomic.server.serverObjects; +import de.anomic.server.serverSwitch; + +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory ; +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; +import com.hp.hpl.jena.sparql.algebra.Algebra ; +import com.hp.hpl.jena.sparql.algebra.Op ; +import com.hp.hpl.jena.sparql.engine.QueryIterator ; +import com.hp.hpl.jena.sparql.engine.binding.Binding ; + +import com.hp.hpl.jena.rdf.model.*; +import com.hp.hpl.jena.util.FileManager; + + +public class Triple_p { + + public static serverObjects respond(final RequestHeader header, + final serverObjects post, final serverSwitch env) { + final Switchboard sb = (Switchboard) env; + final serverObjects prop = new serverObjects(); + + boolean hasRights = sb.verifyAuthentication(header); + + prop.put("display", 1); // Fixed to 1 + prop.putHTML("mode_output", "no query performed"); + + String q = "PREFIX lln: \n"+ +"PREFIX rdf: \n"+ +"PREFIX xsd: \n"+ +"SELECT ?resource ?pa\n"+ +"WHERE {\n"+ + "?resource lln:percentageofarea ?pa .\n"+ +"FILTER (xsd:float (?pa) > 3.000)\n"+ +"}"; + + if (post != null) { + + if (post.containsKey("submit")) { + // + System.out.println (post.get("submit")); + } + + if (post.containsKey("rdffileslist")) { + + String list = post.get("rdffileslist"); + + for (String s: list.split("\n")) { + String newurl = s; + try { + DigestURI d = new DigestURI (s); + + if (d.getHost().endsWith(".yacy")) { + newurl = d.getProtocol()+"://"+HTTPDemon.getAlternativeResolver().resolve(d.getHost())+d.getPath(); + System.out.println (newurl); + } + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + TripleStore.Load (newurl); + } + + } + + if (post.containsKey("rdffile")) { + + TripleStore.Add(post.get("rdffile$file")); + } + + if (post.containsKey("query")) { + + // Create a new query + String queryString = post.get("query"); + + q = queryString; + + int count = 0; + + try { + + com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString); + + // Execute the query and obtain results + QueryExecution qe = QueryExecutionFactory.create(query, TripleStore.model); + ResultSet resultSet = qe.execSelect(); + + ByteArrayOutputStream sos = new ByteArrayOutputStream(); + + ResultSetFormatter.outputAsRDF(sos, "", resultSet); + + prop.putHTML("mode_rdfdump", sos.toString()); + + + + + for (String s: resultSet.getResultVars()) { + + prop.putHTML("mode_output_"+count+"_caption", s); + count ++; + } + } catch (Exception e) { + prop.putHTML("mode_rdfdump", "error"); + } + + prop.putHTML("mode_output", ""+count); + + } + + + } + + prop.putHTML("mode_query", q); + + + // return rewrite properties + return prop; + } + +} diff --git a/htroot/interaction/OverlayInteraction.html b/htroot/interaction/OverlayInteraction.html index d7464b427..7bed90baf 100644 --- a/htroot/interaction/OverlayInteraction.html +++ b/htroot/interaction/OverlayInteraction.html @@ -47,15 +47,15 @@ border-bottom: 1px solid #ffffff; -