incubator-any23-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paolo Castagna (Commented) (JIRA)" <>
Subject [jira] [Commented] (ANY23-19) Abstract away any specific RDF APIs
Date Fri, 13 Apr 2012 07:04:28 GMT


Paolo Castagna commented on ANY23-19:

Hi Peter, thanks for your comments (which I truly appreciate).

bq. ... representing everything as strings

As I said, java-rdfa do not provide any data checking/validation. Does Any23 currently guarantee
that all the RDF triples generated are "valid" (checking syntax of URIs/IRIs, literals, etc.)?
If it does, using strings would not certainly be an improvement, I agree. If it does not,
then using an RDF library vs. plain strings does not provide a big advantage.

bq. How often is Any23 currently being used as a library? 

I do not know the answer to this question, to me Any23 is valuable as a library (in particular
if it can be used with projects such as Apache Nutch and Hadoop/MapReduce).
You should also ask "how often Any23 could be used as a library?", I don't know the answer
to this either.

bq. They should be accessed using a ValueFactory and used as their Interfaces. This doesn't
change any of the libraries that are used, but it is better practice. 

Moving the creation of Sesame specific objects to a single place in Any23 is a good idea.

bq. Switching to another library may cause the bloat that you say you do not want. 

Exactly, I did not propose that, certainly not at this point in time.

bq. Jena and its immediate dependencies is quite large compared to the modular sesame jar

I know (and I always said it in the past). Things might change in future and indeed I think
that for a project such as Jena a small as possible jena-core.jar with no inference, ontology
support, not even RDF/XML parsing... just a low level RDF graph API, would be good.
> Abstract away any specific RDF APIs
> -----------------------------------
>                 Key: ANY23-19
>                 URL:
>             Project: Apache Any23
>          Issue Type: New Feature
>    Affects Versions: 0.7.0
>            Reporter: Paolo Castagna
>             Fix For: 0.8.0
> Any23 currently uses Sesame to work with or parse RDF. Specifically Any23 uses these
classes from org.openrdf.* packages:
> org.openrdf.model.BNode
> org.openrdf.model.datatypes.XMLDatatypeUtil
> org.openrdf.model.impl.LiteralImpl
> org.openrdf.model.impl.URIImpl
> org.openrdf.model.impl.ValueFactoryImpl
> org.openrdf.model.Literal
> org.openrdf.model.Resource
> org.openrdf.model.Statement
> org.openrdf.model.URI
> org.openrdf.model.Value
> org.openrdf.model.ValueFactory
> org.openrdf.model.vocabulary.OWL
> org.openrdf.model.vocabulary.RDF
> org.openrdf.model.vocabulary.RDFS
> org.openrdf.model.vocabulary.XMLSchema
> org.openrdf.repository.RepositoryConnection
> org.openrdf.repository.RepositoryException
> org.openrdf.repository.RepositoryResult
> org.openrdf.repository.sail.SailRepository
> org.openrdf.sail.memory.MemoryStore
> org.openrdf.sail.Sail
> org.openrdf.sail.SailException
> Would it be possible to abstract away any specific RDF APIs to allow Any23 users to chose
between, say: Apache Clerezza [1], Apache Jena [2], Sesame [3] and/or others?
> An example of small RDF distiller which does this is java-rdfa [4]. Maybe a similar agnostic
(but easy to integrate) approach is possible for Any23. Although, java-rdfa does not need
to parse RDF content itself. 
>  [1]
>  [2]
>  [3]
>  [4]

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message