Próbuję załadować biblioteki Clojure dla RDF clj-plaza w Clojure REPL tak:Clojure: No wdrożenie metody w protokole
user=> (use 'plaza.rdf.core)
nil
mam folder o nazwie Plaza i podfolder o nazwie RDF i plik core.clj dostępne i o ile mogę powiedzieć, Clojure REPL ładuje bibliotekę tak, jak powinna.
Teraz, jeśli zrobić
user=> (alter-root-rdf-ns “http://www.example.org/”)
"http://www.example.org"
i znowu, o ile mogę powiedzieć biblioteka core.clj donosi, jak powinien. Teraz robię
(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)
uzyskać ten sam rezultat, jeśli spróbuję f.ex.
(make-triples [["http://triple1" "http://triple2" "http://triple3"]])
W kodzie źródłowym (core.clj) jest metoda zwana obciążenia strumień w RDFModel protokołu
(defprotocol RDFModel
"Operations for the manipulation of RDF"
....
(load-stream [model stream format] "Load triples from a stream")
....
i załadować strumienia jest realizowany
(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)))
nie mogę wydawać aby wskazać, co tu jest nie tak, w kodzie źródłowym wszystko wydaje się zsumować.
Marczyk mam podobny problem, ale pojawia się „No wdrożenie metody.:: jest literałem protokołu: # 'plaza.rdf.core/RDFNode znaleziony dla klasy: Słowo kluczowe. Wymagałem zarówno plaza.rdf.implementations.sesame, jak i plaza.rdf.implementations.jena. Zacznę inne pytanie, jeśli potrzebujesz więcej szczegóły: – aduric
@aduric: Wygląda na to, że używasz słowa kluczowego w miejscu, w którym spodziewany jest typ implementujący 'RDFNode' - prawdopodobnie w wywołaniu' alter-root-model' lub 'with-model' .Jeśli możesz ' Jeśli znajdziemy problematyczne miejsce, myślę, że użyteczne byłoby osobne pytanie z większą ilością szczegółów (NB: od jakiegoś czasu nie patrzyłem na clj-plaza, więc jeśli jest tu jakiś wspólny problem, może być zagubionym.) –