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

Paolo Castagna edited comment on ANY23-19 at 4/13/12 7:03 AM:
--------------------------------------------------------------

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

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

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

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

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

> Jena and its immediate dependencies is quite large compared to the modular 
> sesame jar files

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.
                
      was (Author: castagna):
    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 files

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: https://issues.apache.org/jira/browse/ANY23-19
>             Project: Apache Any23
>          Issue Type: New Feature
>    Affects Versions: 0.7.0
>            Reporter: Paolo Castagna
>            Priority: Minor
>             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