You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (Commented) (JIRA)" <ji...@apache.org> on 2012/01/29 18:29:10 UTC
[jira] [Commented] (JENA-203) support for Non Blocking Parsers
[ https://issues.apache.org/jira/browse/JENA-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13195796#comment-13195796 ]
Andy Seaborne commented on JENA-203:
------------------------------------
Good timing - there are initial discussions readers recently on jena-users@. Please contribute and we can frame a more general JIRA.
The more usual idiom is "m.read(m,in, base)" but the general mechanism you describe can be used with actor frameworks. m.getReader creates a reader that the app can pass (in a closure0like setup) to an actor.
The RIOT parsers output to a Sink<Triple> which allows different architectures. RIOT encapsulates parsing as an algorithm so that algorithm can be executed on a separate thread/actor.
What rendezvous style would you suggest?
This does not seem to be "priority major" and until there is a patch available I suggest not marking it as such.
> support for Non Blocking Parsers
> --------------------------------
>
> Key: JENA-203
> URL: https://issues.apache.org/jira/browse/JENA-203
> Project: Jena
> Issue Type: Improvement
> Reporter: Henry Story
>
> In a Linked Data environment servers have to fetch data off the web. The speed at which such data
> is served can be very slow. So one wants to avoid using up one thread for each connections (1 thread =
> 0.5 to 1MB approximately). This is why Java NIO was developed and why servers such as Netty
> are so popular, why http client libraries such as https://github.com/sonatype/async-http-client are more
> and more numerous, and why framewks such as http://akka.io/ which support relatively lightweight
> actors (500 bytes per actor) are growing more viisible.
> Unless I am mistaken the only way to parse some content is using methods that use an
> InputStream such as this:
> val m = ModelFactory.createDefaultModel()
> m.getReader(lang.jenaLang).read(m, in, base.toString)
> That read call blocks. Would it be possible to have an API which allows
> one to parse a document in chunks as they arrive from the input?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira