Return-Path: X-Original-To: apmail-incubator-any23-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-any23-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 16D399811 for ; Thu, 12 Apr 2012 08:51:47 +0000 (UTC) Received: (qmail 96345 invoked by uid 500); 12 Apr 2012 08:51:46 -0000 Delivered-To: apmail-incubator-any23-dev-archive@incubator.apache.org Received: (qmail 96308 invoked by uid 500); 12 Apr 2012 08:51:46 -0000 Mailing-List: contact any23-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: any23-dev@incubator.apache.org Delivered-To: mailing list any23-dev@incubator.apache.org Received: (qmail 96279 invoked by uid 99); 12 Apr 2012 08:51:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Apr 2012 08:51:45 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Apr 2012 08:51:44 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id DC145366003 for ; Thu, 12 Apr 2012 08:51:23 +0000 (UTC) Date: Thu, 12 Apr 2012 08:51:23 +0000 (UTC) From: "Paolo Castagna (Commented) (JIRA)" To: any23-dev@incubator.apache.org Message-ID: <420194446.16524.1334220683902.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1350916276.4342.1320560571945.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (ANY23-19) Abstract away any specific RDF APIs MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ 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