better abstraction of document model generation

pull/1/head
Michael Peter Christen 13 years ago
parent 8b7c4d3144
commit 52f5d40043

@ -40,6 +40,7 @@ import net.yacy.cora.document.ASCII;
import net.yacy.cora.document.MultiProtocolURI;
import net.yacy.cora.document.UTF8;
import net.yacy.cora.lod.JenaTripleStore;
import net.yacy.cora.lod.vocabulary.YaCyMetadata;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.cora.services.federated.yacy.CacheStrategy;
import net.yacy.document.Condenser;
@ -54,6 +55,9 @@ import net.yacy.kelondro.data.meta.URIMetadataRow;
import net.yacy.search.Switchboard;
import net.yacy.search.index.Segment;
import net.yacy.search.index.Segments;
import com.hp.hpl.jena.rdf.model.Model;
import de.anomic.crawler.Cache;
import de.anomic.crawler.retrieval.Response;
import de.anomic.server.serverObjects;
@ -344,7 +348,8 @@ public class ViewFile {
prop.putNum("error_size", size);
prop.put("error_mimeTypeAvailable", (response.getMimeType() == null) ? "0" : "1");
prop.put("error_mimeTypeAvailable_mimeType", response.getMimeType());
prop.putXML("error_triples", JenaTripleStore.getMetadataByURLHash(url.hash()));
Model model = JenaTripleStore.getSubmodelBySubject(YaCyMetadata.hashURI(url.hash()));
prop.putXML("error_triples", JenaTripleStore.getRDFByModel(model));
return prop;
}

@ -30,6 +30,7 @@ import java.net.MalformedURLException;
import net.yacy.cora.date.ISO8601Formatter;
import net.yacy.cora.document.ASCII;
import net.yacy.cora.lod.JenaTripleStore;
import net.yacy.cora.lod.vocabulary.YaCyMetadata;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.cora.protocol.RequestHeader.FileType;
import net.yacy.kelondro.data.meta.DigestURI;
@ -39,6 +40,9 @@ import net.yacy.kelondro.logging.Log;
import net.yacy.search.Switchboard;
import net.yacy.search.index.Segment;
import net.yacy.search.index.Segments;
import com.hp.hpl.jena.rdf.model.Model;
import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
@ -130,7 +134,8 @@ public class yacydoc {
prop.put("yacy_outbound", entry.lother());
// extract the submodel from the triplestore
String rdf = JenaTripleStore.getMetadataByURLHash(entry.hash());
Model model = JenaTripleStore.getSubmodelBySubject(YaCyMetadata.hashURI(entry.hash()));
String rdf = JenaTripleStore.getRDFByModel(model);
prop.putXML("triples", rdf);
prop.put("rdf", header.fileType() == FileType.XML ? rdf : "");

@ -262,9 +262,7 @@ public class JenaTripleStore {
return m;
}
public static String getMetadataByURLHash(byte[] urlhash) {
String subject = YaCyMetadata.hashURI(urlhash);
Model model = JenaTripleStore.getSubmodelBySubject(subject);
public static String getRDFByModel(Model model) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
model.write(baos, "RDF/XML-ABBREV");
return UTF8.String(baos.toByteArray());

Loading…
Cancel
Save