[ 
https://issues.apache.org/jira/browse/ANY23-19?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252290#comment-13252290
 ] 

Paolo Castagna commented on ANY23-19:
-------------------------------------

Hi Max, the thing is: adding yet another dependency is going to make Any23 
bigger and more complex. 
Can something simple be done without adding yet another dependency?
As I said, an example of a small RDF distiller which does this is java-rdfa 
(https://github.com/shellac/java-rdfa). Third party RDF APIs become only an 
optional dependency and people are free to choose which one they want/need 
simply adding that to their classpath (in a very similar way to what SLF4j does 
for logging frameworks).
The only thing tricky is "validation", but Any23 could chose not to validate 
URLs/IRIs, etc. and simply relay on the third party RDF APIs to do that.
                
> Abstract away any specific RDF APIs
> -----------------------------------
>
>                 Key: ANY23-19
>                 URL: https://issues.apache.org/jira/browse/ANY23-19
>             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.rio.helpers.RDFParserBase
> org.openrdf.rio.ntriples.NTriplesParser
> org.openrdf.rio.ntriples.NTriplesUtil
> org.openrdf.rio.ntriples.NTriplesWriter
> org.openrdf.rio.ParseErrorListener
> org.openrdf.rio.ParseLocationListener
> org.openrdf.rio.RDFFormat
> org.openrdf.rio.RDFHandler
> org.openrdf.rio.RDFHandlerException
> org.openrdf.rio.RDFParseException
> org.openrdf.rio.RDFParser
> org.openrdf.rio.rdfxml.RDFXMLParser
> org.openrdf.rio.rdfxml.RDFXMLWriter
> org.openrdf.rio.turtle.TurtleWriter
> 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] http://incubator.apache.org/clerezza/
>  [2] http://incubator.apache.org/jena/
>  [3] http://www.openrdf.org/
>  [4] https://github.com/shellac/java-rdfa

--
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

        

Reply via email to