I am using BITES in a Python application and have created a database as follows:
admin = stardog.Admin(**sd_conn_details)
admin.new_database(database,
{'search.enabled': True, 'edge.properties': True, 'reasoning': True,
'reasoning.punning.enabled': True, 'query.timeout': '20m',
'docs.default.rdf.extractors': 'tika, text'})
According to the docs, 'text' is a built-in extractor.
I add a document to the BITES store using this code:
conn = stardog.Connection(database, **sd_conn_details)
docs = conn.docs()
conn.begin()
docs.add(doc_name, stardog.content.Raw(doc_text))
conn.commit()
Without the database option, docs.default.rdf.extractors, everything works as expected. With the option, I get an exception:
WARN 2021-05-07 17:07:04,047 [stardog-user-11] com.complexible.stardog.protocols.http.server.StardogUndertowErrorHandler:accept(68): Unexpected exception was handled by the server
java.lang.IllegalArgumentException: Unknown extractor name: text
at com.complexible.stardog.docs.extraction.ExtractorManager.getExtractor(ExtractorManager.java:96) ~[stardog-bites-core-7.6.0.jar:?]
at com.complexible.stardog.docs.extraction.ExtractorManager.getRDFExtractor(ExtractorManager.java:83) ~[stardog-bites-core-7.6.0.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:553) ~[?:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.addRDFContent(ConnectableBitesConnectionImpl.java:114) ~[stardog-bites-core-7.6.0.jar:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.putDocument(ConnectableBitesConnectionImpl.java:227) ~[stardog-bites-core-7.6.0.jar:?]
at com.complexible.stardog.docs.db.ConnectableBitesConnectionImpl.putDocument(ConnectableBitesConnectionImpl.java:213) ~[stardog-bites-core-7.6.0.jar:?]
at com.complexible.stardog.docs.protocols.http.server.BitesHttpService.modifyDocument(BitesHttpService.java:278) ~[stardog-bites-protocols-http-server-7.6.0.jar:?]
at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:192) ~[stardog-protocols-http-server-7.6.0.jar:?]
at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) [shiro-core-1.7.1.jar:1.7.1]
at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) [shiro-core-1.7.1.jar:1.7.1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
What is wrong?
Andrea