2016-12-18 3 views
0

Ich habe versucht, Jena mit meiner benutzerdefinierten Datei zu verbinden, die ich in einem öffentlichen Verzeichnis auf Dropbox mit dem folgenden Link https://www.dropbox.com/s/d3gfidqqfwvo4e9/foaf.ttl?dl=1 gespeichert habe.Jena wird keine Verbindung zur benutzerdefinierten Online-Datei herstellen

Ich habe absichtlich den Link zu dl=1 anstelle von dl=0 geändert, so dass der Link direkt zu der Datei anstelle des Dropbox-Ordners angezeigt würde.

In Netbeans Ich habe den folgenden Code:

final String url = "https://www.dropbox.com/s/d3gfidqqfwvo4e9/foaf.ttl?dl=1"; 
    final Model model = ModelFactory.createDefaultModel(); 
    model.read(url,"TURTLE"); 
    model.write(System.out); 

Und am Ausgang das einzige, was ich ist erhalten:

<rdf:RDF 
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
    </rdf:RDF> 

Jede Hilfe, warum kann ich nicht das gesamte Modell bekommen?

+2

Dies funktioniert im aktuellen Entwicklungszweig von Apache Jena, auch wenn es in v 3.1.1 nicht funktioniert. Es gibt 4 HTTP-Warnungen (ungültiger Cookie-Header) - vielleicht in 3.1.1. Diese verursachen einen stillen internen Fehler. Eine Problemumgehung wäre, die URL in eine Zeichenfolge zu lesen und die Zeichenfolge zu analysieren. – AndyS

+0

Obwohl ich nicht ganz verstehe, wie ich es geschafft habe, das Problem zu beheben, indem ich die Funktion 'model.read' änderte und einen zusätzlichen leeren Parameter hinzufügte, der jetzt wie folgt aussieht:' model.read (url, "", "TURTLE") '. Wie es in der Dokumentation heißt, ist der zweite Parameter ein baseURI, aber ich verstehe nicht, was es ändert, wenn es leer bleibt. Trotzdem funktioniert der Code jetzt einwandfrei. –

Antwort

1

Das eigentliche Problem war die Dropbox. Ihre Server hatten am Tag meiner Tests ein Problem und jetzt funktioniert der Code einwandfrei.

Verwandte Themen