incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Incubator Wiki] Update of "LindaProposal" by SergioFernandez
Date Fri, 16 Nov 2012 16:01:52 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "LindaProposal" page has been changed by SergioFernandez:
http://wiki.apache.org/incubator/LindaProposal

Comment:
initial draft of linda proposal

New page:
= Apache Linda incubation proposal =

== Status ==

Proposal still under edition.

== Abstract ==

Linda is the LINked DAta platform for industry-strength installations.

== Proposal == 

The goal of Apache Linda is to provide an open implementation of a Linked Data Platform that
can be used, extended, and deployed easily by organizations who want to publish Linked Data
or build custom applications on Linked Data. Linda will follow the core recommendations of
the W3C on RDF, SPARQL and Linked Data publishing, particularly the emerging Linked Data Platform
(LDP) recommendation [1]. It will also offer extensions for frequently needed additional functionalities
like Linked Data Querying, WebID, WebACL, Reasoning, and Versioning. Linda aims to cover both,
Linked Open Data, as well as Enterprise Linked Data scenarios, providing facilities to deal
with different data sources and requirements (small data/big data, open access/restricted
access, etc).

[1] http://www.w3.org/2012/ldp/wiki/Main_Page

== Background == 

The Semantic Web isn't just about putting data on the web. It is about making links, so that
a person or machine can explore the web of data based on four very simple principles (see
http://www.w3.org/DesignIssues/LinkedData.html for further details). Moreover, the Web has
quickly evolved to a Read-Write paradigm, and Linked Data technologies too. And Linda will
address this challenge and offer a common infrastructure for organizations working in this
area. Linda comes as a continuation of the work in the Linked Media Framework (aka LMF) project.
LMF is an easy-to-setup server application that bundles central Semantic Web technologies
to offer some advanced services. The Linked Media Framework consists of LMF Core which provides
a Read-Write Linked Data server, plus some modules that complement the server with other added
added capabilities, such as, SPARQL 1.1, LDPath, LDCache, Reasoning, Versioning, etc. Besides,
LMF also provides a Client Library, currently available in Java, PHP, and Javascript, as a
convenient API abstraction around the LMF web services. Currently LMF integrates with other
relevant tools (Apache Stanbol, Google Refine or Drupal) to cover a wider range of use cases
and needs.

== Rationale == 

Linked Data technologies are now at a turning point from mostly research projects to industrial
applications, and a lot of standardisation is currently in progress. Industrial applications
require a reliable and scalable infrastructure that follows and helps defining a standard
way of publishing and consuming Linked Data on the Web. The proposers have a strong background
in building such applications and have invested considerable effort in the last years to building
up an initial version of such a platform (the “Linked Media Framework” or “LMF”).
Starting from this solid base, we strongly believe that Apache is the right environment to
open the development of this project to a wider scope. 

Linda has the potential of being a reference implementation and Apache provides a better environment
for a collaborative development effort. With its well-established governance model based on
meritocracy and handling IP/legal issues, people from different organizations can more easily
contribute to the project. This will help unify the efforts of people implementing the Linked
Data Platform specification and other Semantic Web standards. In addition, it would considerably
help organizations in adopting Linked Data technologies and would provide a solid base for
further research activities in the community.

== Initial Goals ==

 * Provide an open source and community-driven implementation of a Linked Data Platform and
related Semantic Web standards
 * Move the existing LMF source from the current Google Code page to the Apache infrastructure
 * Remove LMF extensions that are not relevant for a core Linked Data platform (e.g. semantic
search and content enhancement)
 * Revise the architecture, moving to a non-proprietary RDF API (Sesame or Jena) and deciding
whether to move to OSGi/Felix or stay with CDI/JavaEE as SOA framework
 * Identify and replace dependencies with a non-compatible license (e.g. replace XOM with
JDOM)
 * Foster the use of Semantic Web Technologies in industry
 * Create a reference implementation for some W3C standads: LDP 1.0 Draft (http://www.w3.org/TR/ldp/)
and SPARQL 1.1 (http://www.w3.org/TR/sparql11-overview/) mainly

== Current Status ==

The source for the current LMF is a stable software artifact that, having emerged from research
circles, has already a relevant number of real world installations i.e. Red Bull Media House,
Salzburger Nachrichten, derStandard.at, etc.

=== Meritocracy ===

LMF is the outcome of a number of research projects coordinated/participated by Salzburg Research
during the last five years. The original developers are still part of the core development
team, while at the same time many new committers have joined the team. Taking this step we
have made it clear to our community that going forward, the community, rather than a single
organization, will determine the future of Linda.

Meritocracy is inherent in the research community we come from, and since Apache Linda aims
to be a unifying project for this community it is only natural to continue this approach.

=== Community === 

Linda addresses two target communities: On the one hand, researchers/developers who are working
with Semantic Web technologies. On the other hand, companies or organizations that require
Semantic Web infrastructure. The initial committers are active participants in both communities.


=== Core Developers === 

 * Sebastian Schaffert (sebastian dot schaffert at salzburgresearch dot at)
 * Thomas Kurz (thomas dot kurz at salzburgresearch dot at)
 * Jakob Frank (jakob dot frank at salzburgresearch dot at)
 * Dietmar Glachs (dietmar dot glachs at salzburgresearch dot at)
 * Sergio Fernández (sergio dot fernandez at salzburgresearch dot at)

=== Alignment === 

Linda complements and integrates well with the current landscape of Apache projects, especially
with the emerging “semantic technologies” cluster within the ASF. Concretely, Linda will
align with the following projects:
Apache Tomcat is currently the primary platform for deployment; with Linda, Tomcat can be
turned into a Linked Data server
Apache Stanbol will very likely adopt parts of the Linda infrastructure, particularly for
implementing the entity hub and for exposing the RDF data as Linked Data
Apache Jena could become the RDF API used throughout Linda; an architecural decision is yet
to be taken
Apache Any23 could be integrated in the LMF as wrapper around non-RDF data sources to consume
them as Linked Data; a similar approach has already been taken by the LMF
Apache Karaf and Apache Felix could become the OSGi container for running and configuring
the Linda components
In addition to these more-or-less concrete proposals, there are some options that still require
some strategic decisions. For example, it make make sense to build a storage backend based
on Apache Hadoop for large-scale installations using HBase (e.g. [2], [3], [4], [5]). Several
extensions also build on existing Apache projects, most importantly the LMF Semantic Search
component, which offers semantic search over Linked Data resources.

[2] http://github.com/castagna/jena-grande 
[3] http://code.google.com/p/h2rdf/ 
[4] http://code.google.com/p/hdrs/
[5] http://cs.utdallas.edu/semanticweb/Hadoop-RDF/hadoop-rdf.html

== Known Risks == 

Probably one of the major risks will not be able to engage the community for addressing the
new challenges. Knowing this, we will do our best to provide the greater facilities to attract
new developers and organizations. In particular, we will try to actively engage developers
from the Linked Data community through our networks.

=== Orphaned Products ===

The current project is part of the business portfolio and a strategic project of the contributor
organization, and will continue in that way. So there is no risk of any of the usual warning
signs of orphaned or abandoned code.

=== Inexperience with Open Source === 

The committers have large experience with open source development and communities. Several
of the key committers have been actively involved in Open Source projects for more than 10-15
years. The initial code base of Linda has already been developed as Open Source project in
the last 5 years.

=== Homogenous Developers === 

Because we are aware about the initial list of committers is not the best for a long, it exists
a strong commitment to spread the project creating a much more diverse development team. Part
of the reason to enter the Apache incubation process is to open up the development to more
interested participants.

=== Reliance on Salaried Developers ===

Right now most or all of that work is salaried, but the developers are identifying themselves
very much with the project. When opening up the development using Apache as a platform, we
expect that the future development will occur on both salaried and volunteer time, particularly
by participants from the Linked Data community.

=== Relationships with Other Apache Projects === 

Although current RDF/SPARQL support in LMF is build on top of OpenRDF Sesame API, Linda is
closely related to many Apache projects, such as Stanbol, Jena and Any23. See “Alignment”
above.

=== An Excessive Fascination with the Apache Brand ===

While we expect the Apache brand may help attract more contributors, our interests in starting
this project is based on the factors mentioned in the Rationale section. Would the brand have
been the main factor, we would have tried already 5 years ago ;-)

== Documentation ==

Documentation for the current project can be found at:
 * http://lmf.googlecode.com 
 * http://doc.lmf.googlecode.com/hg/api/index.html
 * http://doc.lmf.googlecode.com/hg/rest/index.html
 * http://doc.lmf.googlecode.com/hg/client/index.html

== Initial Source == 

LMF (formerly KiWi) has been developed since 2008. It is important to say that the whole LMF
will not be contributed to Linda, actually only those parts that make up the "Linked Data
Platform" functionality  (Linked Data Server, RDF Store, SPARQL, LDCache, Versioning, Reasoner
and LDPath) . The idea is to focus Linda much more in the core needs, keeping all surrounding
functionalities (Media-related modules and Semantic Search, basically) out of the initial
scope. Although the community will be who ultimately decides what are the relevant modules.
Since LMF is a very modular software artifact it will be pretty easy to make such partitioning
to kick-off Linda. 

The current source code can be found at Google Code: http://lmf.googlecode.com

=== Source and Intellectual Property Submission Plan ===

Salzburg Research Forschungsgesellschaft mbH is the sole copyright owner of the initial code
to be contributed, so should not be any problem with the standard IP clearance process. Current
licence is already Apache Software License 2.0.

=== External Dependencies === 

Most of current dependencies should have Apache compatible licenses, including BSD, CDDL,
CPL, MPL and MIT licensed dependencies. We are aware of some incompatible licenses right now,
but we will work to solve this issue. See Appendix A for a detailed list of dependencies.

=== Cryptography ===

Does Not Apply.

== Required Resources ==

=== Mailing lists ===

* linda-dev
* linda-commits
* linda-user

=== Git Repository ===

 * git://git.apache.org/linda.git

=== Issue Tracking ===

* JIRA: LINDA

=== Other Resources ===

* Jenkins/Hudson for builds and test running.
* Project-Wiki
* Blog

== Initial Committers == 

 * Sebastian Schaffert (sebastian dot schafftert at salzburgresearch dot at)
 * Thomas Kurz (thomas dot kurz at salzburgresearch dot at)
 * Jakob Frank (jakob dot frank at salzburgresearch dot at)
 * Dietmar Glachs (dietmar dot glachs at salzburgresearch dot at)
 * Sergio Fernández (sergio dot fernandez at salzburgresearch dot at)
 * Rupert Westenthaler (rwesten  at apache dot org)

=== Affiliations ===

 * Sebastian Schaffert - Salzburg Research
 * Thomas Kurz - Salzburg Research
 * Jakob Frank - Salzburg Research
 * Dietmar Glachs - Salzburg Research
 * Sergio Fernández - Salzburg Research
 * Rupert Westenthaler - Salzburg Research

= Sponsors ==

=== Champion ===

 * Andy Seaborne (andy at apache dot org)

=== Nominated Mentors ===

 * Fabian Christ (fchrist at apache dot org)
 * Nandana Mihindukulasooriya (nandana at apache dot org)
 * Andy Seaborne (andy  at apache dot org)

=== Sponsoring Entity ===

Apache Incubator PMC

== Appendix A: list of dependencies ==

Here's the list of Maven artifacts of the current dependencies, omitting org.apache.* and
commons-* groupIds, but including transitive dependencies:

    antlr:antlr:jar:2.7.7
    asm:asm-analysis:jar:3.2
    asm:asm-commons:jar:3.2
    asm:asm:jar:3.2
    asm:asm-tree:jar:3.2
    asm:asm-util:jar:3.2
    at.newmedialab.ldpath:ldpath-api:jar:0.9.13
    at.newmedialab.ldpath:ldpath-core:jar:0.9.13
    at.newmedialab.ldpath:ldpath-functions-date:jar:0.9.13
    at.newmedialab.ldpath:ldpath-functions-html:jar:0.9.13
    at.newmedialab.ldpath:ldpath-functions-math:jar:0.9.13
    at.newmedialab.ldpath:ldpath-functions-xml:jar:0.9.13
    at.newmedialab.sesame:sesame-tools-rio-ical:jar:1.0
    at.newmedialab.sesame:sesame-tools-rio-jsonld:jar:1.0
    at.newmedialab.sesame:sesame-tools-rio-rdfa:jar:1.0
    at.newmedialab.sesame:sesame-tools-rio-rdfjson:jar:1.0
    at.newmedialab.sesame:sesame-tools-rio-rss:jar:1.0
    at.newmedialab.sesame:sesame-tools-rio-vcard:jar:1.0
    backport-util-concurrent:backport-util-concurrent:jar:3.1
    c3p0:c3p0:jar:0.9.1.2
    ch.qos.cal10n:cal10n-api:jar:0.7.4
    ch.qos.logback:logback-classic:jar:1.0.7
    ch.qos.logback:logback-core:jar:1.0.7
    classworlds:classworlds:jar:1.1-alpha-2
    com.amazonaws:aws-java-sdk:jar:1.3.8
    com.ezware.oxbow:task-dialog:jar:1.3.6
    com.googlecode.jatl:jatl:jar:0.2.2
    com.google.code.tempus-fugit:tempus-fugit:jar:1.1
    com.google.guava:guava:jar:13.0.1
    com.h2database:h2:jar:1.3.168
    com.jayway.jsonpath:json-path:jar:0.8.1
    com.jayway.restassured:rest-assured:jar:1.7
    com.jcabi:jcabi-aether:jar:0.3
    com.jcabi:jcabi-log:jar:0.3
    com.miglayout:miglayout:jar:3.7.4
    com.ning:async-http-client:jar:1.6.5
    com.unboundid:unboundid-ldapsdk:jar:1.1.3
    dfki.km.json:jsonld-java:jar:1.0.0-SNAPSHOT
    dom4j:dom4j:jar:1.6.1
    eu.medsea.mimeutil:mime-util:jar:2.1.3
    fi.tikesos:rdfa-core:jar:0.0.8
    info.aduna.commons:aduna-commons-concurrent:jar:2.7.0
    info.aduna.commons:aduna-commons-io:jar:2.10.0
    info.aduna.commons:aduna-commons-iteration:jar:2.10.0
    info.aduna.commons:aduna-commons-lang:jar:2.9.0
    info.aduna.commons:aduna-commons-net:jar:2.7.0
    info.aduna.commons:aduna-commons-text:jar:2.7.0
    info.aduna.commons:aduna-commons-xml:jar:2.7.0
    jakarta-regexp:jakarta-regexp:jar:1.4
    javassist:javassist:jar:3.12.0.GA
    javax.activation:activation:jar:1.1
    javax.annotation:jsr250-api:jar:1.0
    javax.el:el-api:jar:2.2
    javax.enterprise:cdi-api:jar:1.1.EDR1.2
    javax.inject:javax.inject:jar:1
    javax.servlet.jsp:jsp-api:jar:2.1
    javax.servlet:servlet-api:jar:2.5
    javax.validation:validation-api:jar:1.0.0.GA
    jaxen:jaxen:jar:1.1.3
    junit:junit:jar:4.7
    mysql:mysql-connector-java:jar:5.1.21
    net.jcip:jcip-annotations:jar:1.0
    net.minidev:json-smart:jar:1.1.1
    net.sf.ehcache:ehcache-core:jar:2.6.0
    net.sf.opencsv:opencsv:jar:2.0
    org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1
    org.codehaus.groovy:groovy:jar:1.8.4
    org.codehaus.izpack:izpack-standalone-compiler:jar:4.3.5
    org.codehaus.jackson:jackson-core-asl:jar:1.9.10
    org.codehaus.jackson:jackson-jaxrs:jar:1.9.10
    org.codehaus.jackson:jackson-mapper-asl:jar:1.9.10
    org.codehaus.jackson:jackson-xc:jar:1.9.10
    org.codehaus.janino:commons-compiler:jar:2.6.1
    org.codehaus.janino:janino:jar:2.6.1
    org.codehaus.plexus:plexus-classworlds:jar:2.4
    org.codehaus.plexus:plexus-component-annotations:jar:1.5.5
    org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1
    org.codehaus.plexus:plexus-interpolation:jar:1.11
    org.codehaus.plexus:plexus-interpolation:jar:1.14
    org.codehaus.plexus:plexus-utils:jar:1.5.15
    org.codehaus.plexus:plexus-utils:jar:2.0.6
    org.codehaus.woodstox:wstx-asl:jar:3.2.7
    org.freemarker:freemarker:jar:2.3.9
    org.geonames:geonames:jar:1.1.6-LMF
    org.hamcrest:hamcrest-core:jar:1.3
    org.hamcrest:hamcrest-library:jar:1.3
    org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final
    org.hibernate:hibernate-c3p0:jar:4.1.7.Final
    org.hibernate:hibernate-core:jar:4.1.7.Final
    org.hibernate:hibernate-ehcache:jar:4.1.7.Final
    org.hibernate:hibernate-entitymanager:jar:4.1.7.Final
    org.hibernate:hibernate-validator:jar:4.3.0.Final
    org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final
    org.javassist:javassist:jar:3.14.0-GA
    org.jboss.interceptor:jboss-interceptor-core:jar:2.0.0.Final
    org.jboss.interceptor:jboss-interceptor-spi:jar:2.0.0.Final
    org.jboss.logging:jboss-logging:jar:3.1.0.GA
    org.jboss.netty:netty:jar:3.2.5.Final
    org.jboss.resteasy:jaxrs-api:jar:2.3.5.Final
    org.jboss.resteasy:resteasy-cdi:jar:2.3.5.Final
    org.jboss.resteasy:resteasy-jackson-provider:jar:2.3.5.Final
    org.jboss.resteasy:resteasy-jaxrs:jar:2.3.5.Final
    org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.0.Beta1
    org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final
    org.jboss.weld.servlet:weld-servlet-core:jar:1.1.10.Final
    org.jboss.weld.se:weld-se-core:jar:1.1.10.Final
    org.jboss.weld:weld-api:jar:1.1.Final
    org.jboss.weld:weld-core:jar:1.1.10.Final
    org.jboss.weld:weld-spi:jar:1.1.Final
    org.jdom:jdom2:jar:2.0.3
    org.jdom:jdom:jar:2.0.2
    org.jooq:jooq:jar:2.5.1
    org.json:json:jar:20090211
    org.jsoup:jsoup:jar:1.7.1
    org.kuali.common:kuali-threads:jar:1.0.9
    org.kuali.maven.wagons:maven-s3-wagon:jar:1.1.14
    org.mnode.ical4j:ical4j:jar:1.0.3
    org.mnode.ical4j:ical4j-vcard:jar:0.9.5
    org.mortbay.jetty:jetty-embedded:jar:6.1.26
    org.mortbay.jetty:jetty:jar:6.1.26
    org.mortbay.jetty:jetty-sslengine:jar:6.1.26
    org.mortbay.jetty:jetty-util:jar:6.1.26
    org.mortbay.jetty:servlet-api:jar:2.5-20081211
    org.openrdf.sesame:sesame-http-client:jar:2.6.9
    org.openrdf.sesame:sesame-http-protocol:jar:2.6.9
    org.openrdf.sesame:sesame-model:jar:2.6.9
    org.openrdf.sesame:sesame-queryalgebra-evaluation:jar:2.6.9
    org.openrdf.sesame:sesame-queryalgebra-model:jar:2.6.9
    org.openrdf.sesame:sesame-query:jar:2.6.9
    org.openrdf.sesame:sesame-queryparser-api:jar:2.6.9
    org.openrdf.sesame:sesame-queryparser-serql:jar:2.6.9
    org.openrdf.sesame:sesame-queryparser-sparql:jar:2.6.9
    org.openrdf.sesame:sesame-queryresultio-api:jar:2.6.9
    org.openrdf.sesame:sesame-queryresultio-sparqljson:jar:2.6.9
    org.openrdf.sesame:sesame-queryresultio-sparqlxml:jar:2.6.9
    org.openrdf.sesame:sesame-queryresultio-text:jar:2.6.9
    org.openrdf.sesame:sesame-repository-api:jar:2.6.9
    org.openrdf.sesame:sesame-repository-event:jar:2.6.9
    org.openrdf.sesame:sesame-repository-sail:jar:2.6.9
    org.openrdf.sesame:sesame-repository-sparql:jar:2.6.9
    org.openrdf.sesame:sesame-rio-api:jar:2.6.9
    org.openrdf.sesame:sesame-rio-n3:jar:2.6.9
    org.openrdf.sesame:sesame-rio-ntriples:jar:2.6.9
    org.openrdf.sesame:sesame-rio-rdfxml:jar:2.6.9
    org.openrdf.sesame:sesame-rio-trig:jar:2.6.9
    org.openrdf.sesame:sesame-rio-trix:jar:2.6.9
    org.openrdf.sesame:sesame-rio-turtle:jar:2.6.9
    org.openrdf.sesame:sesame-sail-api:jar:2.6.9
    org.openrdf.sesame:sesame-sail-inferencer:jar:2.6.9
    org.openrdf.sesame:sesame-sail-memory:jar:2.6.9
    org.openrdf.sesame:sesame-sail-nativerdf:jar:2.6.9
    org.openrdf.sesame:sesame-util:jar:2.6.9
    org.quartz-scheduler:quartz:jar:2.1.6
    org.rometools:rome:jar:1.1-LMF
    org.rometools:rome-modules:jar:1.5-LMF
    org.scannotation:scannotation:jar:1.0.3
    org.slf4j:jcl-over-slf4j:jar:1.7.2
    org.slf4j:jul-to-slf4j:jar:1.7.2
    org.slf4j:log4j-over-slf4j:jar:1.7.2
    org.slf4j:slf4j-api:jar:1.7.2
    org.slf4j:slf4j-ext:jar:1.7.2
    org.sonatype.aether:aether-api:jar:1.12
    org.sonatype.aether:aether-connector-asynchttpclient:jar:1.13.1
    org.sonatype.aether:aether-connector-file:jar:1.13.1
    org.sonatype.aether:aether-connector-wagon:jar:1.13.1
    org.sonatype.aether:aether-impl:jar:1.13.1
    org.sonatype.aether:aether-spi:jar:1.13.1
    org.sonatype.aether:aether-util:jar:1.12
    org.sonatype.plexus:plexus-cipher:jar:1.4
    org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3
    org.sonatype.sisu:sisu-guava:jar:0.9.9
    org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0
    org.sonatype.sisu:sisu-inject-bean:jar:2.3.0
    org.sonatype.sisu:sisu-inject-plexus:jar:2.3.0
    org.webjars:jquery:jar:1.8.2
    postgresql:postgresql:jar:9.1-901.jdbc4
    regexp:regexp:jar:1.3
    xalan:xalan:jar:2.7.0
    xerces:xercesImpl:jar:2.11.0
    xml-apis:xml-apis:jar:1.4.01
    xom:xom:jar:1.2.5

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message