Comments (2)
Yeah, it's because of the multiple parsing attempts... the stream might need to be read more than once. It might be better if an ontology loader was instantiated for each load and then this could decide whether it needed to do buffering. If only one parser factory is registered (RDF/XML say) then the buffering is unnecessary.
from owlapi.
An alternative would be to buffer only what is actually read and enable rewinding the stream, so reading from the actual stream would only happen once. The first bytes read might also be discarded after all parsers have examined them - although this is harder to get right.
Should still be faster than the current implementation, as most parsers will fail very early while reading the input - now no parser will be able to even start before the whole stream has been read. Especially bad if someone passes a big file that does not match any parser :-P
There is a possibility to start parsing with all parsers at once and only read the next chunk of input once all parsers have consumed the previous chunk or failed to parse, but this is more complex to implement and for small ontologies might cost a lot - all the parsers going at once might take longer than just loading the whole input and trying them one at a time.
from owlapi.
Related Issues (20)
- EntitySearcher.getAnnotations(class) for all ontologies in import closure HOT 1
- superAnnotationProperties? HOT 2
- How to force OWL-API to use shortened IRIs in RDF/XML? HOT 1
- `uk.ac.manchester.cs.owl.owlapi.Internals` should become again interface-based like it used to be in Version 3 HOT 2
- Shared class expression in axiom with annotations causes extra triples in output HOT 1
- [question] what are possible use-cases of `ConcurrentOWLOntologyImpl` ? HOT 3
- ManchesterParser passes quotes to ShortFormProvider HOT 3
- [OBO parser] Axiom annotations using arbitrary properties are not always properly translated HOT 3
- [question] How to import SKOS Core Vocabulary without getting 429 response code HOT 3
- `OWLOntologyDocumentTarget`: documentation
- Triple parsing errors triggered by annotations on XSD datatypes HOT 2
- Vulnerabilities in Guava HOT 1
- Extending OWLOntologyLoaderListener
- Silencing import errors does not seem to work for OBO files HOT 6
- Disable resolving of imports entirely (offline mode)
- Remove org.openrdf.rio.RDFParserFactory
- Uncaught NumberFormatException when comparing (large) integers HOT 1
- "OWL 2 Web Ontology Language Data Range Extension: Linear Equations" supported? HOT 1
- Zx
- [question] Why are classes with square brackets in IRI fragments allowable in OWL/XML syntax
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from owlapi.