Estoy tratando de cargar la biblioteca Clojure para RDF clj-plaza en Clojure REPL así:Clojure: No aplicación del método en el protocolo de
user=> (use 'plaza.rdf.core)
nil
tengo una plaza carpeta llamada, y una RDF subcarpeta con el nombre y el archivo core.clj disponible y por lo que puedo decir, Clojure REPL carga la biblioteca como debería.
Ahora, si hago
user=> (alter-root-rdf-ns “http://www.example.org/”)
"http://www.example.org"
Y de nuevo, por lo que yo puedo decir la biblioteca core.clj informa como debería. la actualidad aún
(def e (document-to-model “http://www.snee.com/rdf/elvisimp.rdf” :xml))
java.lang.IllegalArgumentException: No implementation of method: :load-stream of protocol: #’plaza.rdf.core/RDFModel found for class: nil (NO_SOURCE_FILE:2)
puedo obtener el mismo resultado si intento f.ex.
(make-triples [["http://triple1" "http://triple2" "http://triple3"]])
En el código fuente (core.clj) hay un método llamado de carga de la corriente en el protocolo de RDFModel
(defprotocol RDFModel
"Operations for the manipulation of RDF"
....
(load-stream [model stream format] "Load triples from a stream")
....
y la carga de la corriente se implementa
(defn document-to-model
"Adds a set of triples read from a serialized document into a model"
([stream format]
(load-stream *rdf-model* stream format)))
Realmente no puedo parecer para identificar lo que está mal aquí, en el código fuente todo parece sumarse.
Marczyk Tengo un problema similar pero me sale "No aplicación del método.:: is-literal del protocolo: # 'plaza.rdf.core/RDFNode encontrado para la clase: palabra clave. Necesité tanto plaza.rdf.implementations.sesame como plaza.rdf.implementations.jena. Comenzaré otra pregunta si necesita más Detalles – aduric
@aduric: Parece que está usando una palabra clave en algún lugar donde se espera un tipo que implementa 'RDFNode', posiblemente en una llamada a' alter-root-model' o 'with-model'? Si puede ' Para encontrar un lugar problemático como ese, creo que una pregunta separada con más detalles sería útil. (NB. No he mirado clj-plaza desde hace tiempo, así que si hay algún problema relacionado aquí, podría no te lo pierdas). –