Re: [GSoC] less 1 month left

2014-07-31 Thread Qihong Lin
Dear Sergio,

I'm sorry I can't understand you questions. It's appreciated if you
can help me clarify these:

1) If what changes in the new alternative CDI service is just the
invocations to the RepositoryConnection (I'd need to check the diff to
really assert that), would it still make sense to you to provide an
alternative CDIservice?
What do you mean by the new alternative CDI service, and an
alternative CDIservice? I'm now translating the CDI service
(LdpServiceImpl) into SPARQL implementation. If anything changes, I
can translate it accordingly. Is that enough?

2)  Or would be more maintainable to move the translation into an
RepositoryConnection wrapper or something like that?
What's an RepositoryConnection wrapper? Why do we need that (i.e.
why more maintainable )? Can you show me an example? Thanks!

Best regards,
Qihong Lin


On Mon, Jul 28, 2014 at 9:00 PM, Sergio Fernández wik...@apache.org wrote:
 Dear Qihong Lin,


 On 27/07/14 12:41, Qihong Lin wrote:

 I'm making documentation in git wiki:
 [1]
 https://github.com/confidencesun/marmotta/wiki/GSoC-2014-Project-(MARMOTTA-444)
 [2] https://github.com/confidencesun/marmotta/wiki/Developer-Documentation
 [3] https://github.com/confidencesun/marmotta/wiki/User-Documentation


 Perfect. Try to evolve as much as possible that documentation to start to
 prepare the final report.

 A conclusions chapter from your since would be nice. Think about what
 aspects are interesting to discuss.

 Taking a quick look to dev documentation, there is one aspect I'd like to
 hear from you about the mapping of method. If what changes in the new
 alternative CDI service is just the invocations to the RepositoryConnection
 (I'd need to check the diff to really assert that), would it still make
 sense to you to provide an alternative CDIservice? Or would be more
 maintainable to move the translation into an RepositoryConnection wrapper or
 something like that? Think about that, write down your conclusions, and
 ideally provide a proof-of-concept implementation.


 Currently, the SPARQL implementation is up to date to the ldp and
 develop branches. I'll make the translations soon after any new
 changes from upstreams, and report to you in time.


 Probably we'll finally do it early next week. I'll keep you informed.


 Cheers,

 --
 Sergio Fernández
 Partner Technology Manager
 Redlink GmbH
 m: +43 660 2747 925
 e: sergio.fernan...@redlink.co
 w: http://redlink.co


Re: [GSoC] less 1 month left

2014-07-27 Thread Qihong Lin
Dear Sergio,

I'm making documentation in git wiki:
[1] 
https://github.com/confidencesun/marmotta/wiki/GSoC-2014-Project-(MARMOTTA-444)
[2] https://github.com/confidencesun/marmotta/wiki/Developer-Documentation
[3] https://github.com/confidencesun/marmotta/wiki/User-Documentation

Currently, the SPARQL implementation is up to date to the ldp and
develop branches. I'll make the translations soon after any new
changes from upstreams, and report to you in time.

Best regards,
Qihong Lin


On Thu, Jul 24, 2014 at 9:59 PM, Sergio Fernández wik...@apache.org wrote:
 Dear Qihong Lin,


 On 24/07/14 14:06, Qihong Lin wrote:

 Thanks for your reminder! I've been watching the marmotta's branch
 refs/heads/develop (not much changes related to ldp service these
 days). As you pointed out, I just checked the ldp branch and updated
 my LdpServiceSPARQLImpl accordingly [1]. Now both LdpServiceSPARQLImpl
 and LdpServiceImpl passed my unit tests as expected.


 It'd be great if you can report the current status of the SPARQL
 implementation, as well as periodically report your progress.


 I'll keep a close eye on both the develop and ldp branches in the
 coming weeks. With previous experience in the first half part of the
 project, I think it's not difficult to translate the remaining changes
 to the SPARQL implementations. I'll check and translate the changes
 everyday. After the GSoC project, I can also offer contribution
 related to this work.


 That'd be great! That's one of the goals of GSoC is not always explored by
 the student. Hope you can continue collaborating with us after the program
 ends.


 In the meanwhile, I'll work on the documentations and the tests
 (performance, w3c test suite, etc), as you mentioned in the mid-term
 evaluation. I've been studying JMeter, TestNG and Rest-Assured. I'll
 have a try in the next week and keep you posted.


 Where are you documenting all your stuff? As I explained you, I'd appreciate
 to have access to it in advance.


 Cheers,

 --
 Sergio Fernández
 Partner Technology Manager
 Redlink GmbH
 m: +43 660 2747 925
 e: sergio.fernan...@redlink.co
 w: http://redlink.co


Re: [GSoC] less 1 month left

2014-07-24 Thread Qihong Lin
Dear Sergio,

Thanks for your reminder! I've been watching the marmotta's branch
refs/heads/develop (not much changes related to ldp service these
days). As you pointed out, I just checked the ldp branch and updated
my LdpServiceSPARQLImpl accordingly [1]. Now both LdpServiceSPARQLImpl
and LdpServiceImpl passed my unit tests as expected.

I'll keep a close eye on both the develop and ldp branches in the
coming weeks. With previous experience in the first half part of the
project, I think it's not difficult to translate the remaining changes
to the SPARQL implementations. I'll check and translate the changes
everyday. After the GSoC project, I can also offer contribution
related to this work.

In the meanwhile, I'll work on the documentations and the tests
(performance, w3c test suite, etc), as you mentioned in the mid-term
evaluation. I've been studying JMeter, TestNG and Rest-Assured. I'll
have a try in the next week and keep you posted.


Best,
Qihong Lin

[1] 
https://github.com/confidencesun/marmotta/commit/cff11e06c0c13bd8d8a10fea5e9eccf8d31f86ba

On Wed, Jul 23, 2014 at 3:45 PM, Sergio Fernández wik...@apache.org wrote:
 According the official time-line:

 http://www.google-melange.com/gsoc/events/google/gsoc2014

 August 18th is the official 'pencils down' date for GSoC this year.

 Please, Qihong Lin, remember to continue pushing hard. I did not see some
 much activity or reporting in the last weeks, and you still have so much to
 do for achieving the goals of the project.

 We had been working at the ldp branch, fixing details discovered by the W3C
 test suite. They mainly affect the web service layer, but I think we
 extended the service api with some new methods. Next week Jakob and myself
 we plan to continue working on that, with the idea of merging stable changes
 back to develop during the week. Please, stay tune to the changes, and
 decide whether you can afford or not to adopt them at this stage.

 Personally I'll offline 6th to 20th, so everything that you deliver before
 would make my final evaluation much easier.

 Thanks for your contribution to the Apache Marmotta project.

 Cheers,

 --
 Sergio Fernández
 Partner Technology Manager
 Redlink GmbH
 m: +43 660 2747 925
 e: sergio.fernan...@redlink.co
 w: http://redlink.co


Re: [GSoC] dev period

2014-06-10 Thread Qihong Lin
Dear Sergio,

I just figured out the reason of the problem 1). The bean.xml was not
copied into the building output folder, although was in the source
folder. I fixed it in eclipse. Everything works well now.

Could you please just help me with the problem 2)? Thanks a lot!

Yours,
Qihong Lin

On Tue, Jun 3, 2014 at 8:46 PM, Qihong Lin confidence@gmail.com wrote:
 Dear Sergio,

 I try to fix the problems you commented. The code have been just committed 
 [1].

 But there're some further issues to discuss:

 1) EmbeddedMarmotta
 I change the test case [2] to use EmbeddedMarmotta. The bean.xml file
 is added at src\test\resources\META-INF. But it throws
 DeploymentException: WELD-001408 (see Apendix (1): stack trace for
 running LdpServiceSPARQLImplTest). In addition , EmbeddedMarmottaTest
 in marmotta-core also throws UnsatisfiedResolutionException:
 WELD-001308 at my side (Eclipse+egit+m2e, see Appendix (2) ). Does
 EmbeddedMarmotta itself have some problems? Or am I wrong for any
 configuration mistakes of weld CDI? Finally, I have to restore the
 code to the ugly new LdpServiceSPARQLImpl() approach for testing.

 2) RDF resource VS. LDP-RS
 I read the W3C LDP documentation[3]. There're some rules for LDP-RS.
 But it seems that most of the rules are out of the scopes of my SPARQL
 implementation work. For example, the rules like HTTP Link header
 and HTTP Request-URI for LDP-RS are not concerned in the level of my
 work. Is that correct?
 I try to make the equivalent method for LdpServiceImpl.exists(), which
 has only one sentence:
 return connection.hasStatement(resource, null, null, true, ldpContext);
 It uses ldpContext pointing to http://www.w3.org/ns/ldp#;, which is
 a graph name in the triplestore. Does it mean all of the LDP-RSs must
 be in the graph of http://www.w3.org/ns/ldp#;? I don't see this
 request in the W3C LDP documentation[3]. What's your opinion?
 It uses true for the 4th parameter of connection.hasStatement()
 method, which includes inferred ones during querying. But I see this
 in the W3C LDP documenation [3]:
 4.3.1.10 LDP servers must not require LDP clients to implement
 inferencing in order to recognize the subset of content defined by LDP
 ... The practical implication is that all content defined by LDP must
 be explicitly represented, unless noted otherwise within this
 document.
 Therefore, shall we change it to false to avoid inferred triples?
 Further more, should I care about SPARQL Entailment Regimes [4]? No?

 Best regards,
 Qihong Lin


 [1] 
 https://github.com/confidencesun/marmotta/commit/d8e8048931de8a5f92c90ebf6a728822a2d3ed74
 [2] 
 https://github.com/confidencesun/marmotta/blob/d8e8048931de8a5f92c90ebf6a728822a2d3ed74/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/testsuite/LdpServiceSPARQLImplTest.java
 [3] http://www.w3.org/TR/ldp/#ldprs
 [4] http://www.w3.org/TR/sparql11-entailment/

 Appendix (1): stack trace for running LdpServiceSPARQLImplTest
 org.jboss.weld.exceptions.DeploymentException: Exception List with 4 
 exceptions:
 Exception 0 :
 org.jboss.weld.exceptions.DeploymentException: WELD-001408:
 Unsatisfied dependencies for type ConfigurationService with qualifiers
 @Default
   at injection point [BackedAnnotatedField] @Inject protected
 org.apache.marmotta.platform.core.logging.BaseLoggingModule.configurationService
   at 
 org.apache.marmotta.platform.core.logging.BaseLoggingModule.configurationService(BaseLoggingModule.java:0)

 at 
 org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:368)
 at 
 org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:289)
 at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:135)
 at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:166)
 at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:514)
 at 
 org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
 at 
 org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
 at 
 org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
 at 
 org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:722)
 Exception 0 :
 org.jboss.weld.exceptions.DeploymentException: WELD-001408:
 Unsatisfied dependencies for type ConfigurationService with qualifiers
 @Default
   at injection point [BackedAnnotatedField] @Inject private
 org.apache.marmotta.platform.ldp.services.LdpServiceImpl.configurationService
   at 
 org.apache.marmotta.platform.ldp.services.LdpServiceImpl.configurationService

Re: [GSoC] dev period

2014-06-03 Thread Qihong Lin
Dear Sergio,

I try to fix the problems you commented. The code have been just committed [1].

But there're some further issues to discuss:

1) EmbeddedMarmotta
I change the test case [2] to use EmbeddedMarmotta. The bean.xml file
is added at src\test\resources\META-INF. But it throws
DeploymentException: WELD-001408 (see Apendix (1): stack trace for
running LdpServiceSPARQLImplTest). In addition , EmbeddedMarmottaTest
in marmotta-core also throws UnsatisfiedResolutionException:
WELD-001308 at my side (Eclipse+egit+m2e, see Appendix (2) ). Does
EmbeddedMarmotta itself have some problems? Or am I wrong for any
configuration mistakes of weld CDI? Finally, I have to restore the
code to the ugly new LdpServiceSPARQLImpl() approach for testing.

2) RDF resource VS. LDP-RS
I read the W3C LDP documentation[3]. There're some rules for LDP-RS.
But it seems that most of the rules are out of the scopes of my SPARQL
implementation work. For example, the rules like HTTP Link header
and HTTP Request-URI for LDP-RS are not concerned in the level of my
work. Is that correct?
I try to make the equivalent method for LdpServiceImpl.exists(), which
has only one sentence:
return connection.hasStatement(resource, null, null, true, ldpContext);
It uses ldpContext pointing to http://www.w3.org/ns/ldp#;, which is
a graph name in the triplestore. Does it mean all of the LDP-RSs must
be in the graph of http://www.w3.org/ns/ldp#;? I don't see this
request in the W3C LDP documentation[3]. What's your opinion?
It uses true for the 4th parameter of connection.hasStatement()
method, which includes inferred ones during querying. But I see this
in the W3C LDP documenation [3]:
4.3.1.10 LDP servers must not require LDP clients to implement
inferencing in order to recognize the subset of content defined by LDP
... The practical implication is that all content defined by LDP must
be explicitly represented, unless noted otherwise within this
document.
Therefore, shall we change it to false to avoid inferred triples?
Further more, should I care about SPARQL Entailment Regimes [4]? No?

Best regards,
Qihong Lin


[1] 
https://github.com/confidencesun/marmotta/commit/d8e8048931de8a5f92c90ebf6a728822a2d3ed74
[2] 
https://github.com/confidencesun/marmotta/blob/d8e8048931de8a5f92c90ebf6a728822a2d3ed74/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/testsuite/LdpServiceSPARQLImplTest.java
[3] http://www.w3.org/TR/ldp/#ldprs
[4] http://www.w3.org/TR/sparql11-entailment/

Appendix (1): stack trace for running LdpServiceSPARQLImplTest
org.jboss.weld.exceptions.DeploymentException: Exception List with 4 exceptions:
Exception 0 :
org.jboss.weld.exceptions.DeploymentException: WELD-001408:
Unsatisfied dependencies for type ConfigurationService with qualifiers
@Default
  at injection point [BackedAnnotatedField] @Inject protected
org.apache.marmotta.platform.core.logging.BaseLoggingModule.configurationService
  at 
org.apache.marmotta.platform.core.logging.BaseLoggingModule.configurationService(BaseLoggingModule.java:0)

at 
org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:368)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:289)
at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:135)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:166)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:514)
at 
org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
at 
org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
at 
org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
at 
org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Exception 0 :
org.jboss.weld.exceptions.DeploymentException: WELD-001408:
Unsatisfied dependencies for type ConfigurationService with qualifiers
@Default
  at injection point [BackedAnnotatedField] @Inject private
org.apache.marmotta.platform.ldp.services.LdpServiceImpl.configurationService
  at 
org.apache.marmotta.platform.ldp.services.LdpServiceImpl.configurationService(LdpServiceImpl.java:0)

at 
org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:368)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:289)
at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:135)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:166)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:514

Re: [GSoC] community bonding period

2014-05-23 Thread Qihong Lin
Dear Sergio,

I've completed the code of LdpServiceSPARQLImpl.exist() for RDF
resource. The unit test has been made as well.
Please check my last 2 commits:
https://github.com/confidencesun/marmotta/commits/MARMOTTA-444

However, the unit test seems to be ugly. You can see in
LdpServiceSPARQLImplTest.testResourceExist() that I directly new the
object of LdpServiceSPARQLImpl. Is there other more elegant way to
test LdpServiceSPARQLImpl?
Also, I find that LdpServiceSPARQLImpl uses LdpBinaryStoreService,
ConfigurationService and ldpContext. How can I make the unit test by
injecting them into LdpServiceSPARQLImpl?

Best regards,
Qihong Lin


On Tue, May 20, 2014 at 4:47 PM, Sergio Fernández wik...@apache.org wrote:
 Hi Qihong,


 On 20/05/14 10:30, Qihong Lin wrote:

 I've already set up the development environment. I'm ready to begin
 coding in that fork.


 Great.


 The test suite and the test cases were removed from the code
 repository on 5th May. Could you please tell me why? Any problems with
 the tests? Can I reuse the removed test cases in my fork to ensure the
 expected behaviors of my code?


 The work on the test suite has been moved to github in collaboration with
 other member of the LDP WG:

   https://github.com/w3c/ldp-testsuite

 I've closed MARMOTTA-438 accordingly.

 Anyway, it still needs to be stabilized until it reports proper results. In
 the meantime you can use our custom unit tests, that's more than enough for
 the earlier phases.


 Cheers,

 --
 Sergio Fernández
 Senior Researcher
 Knowledge and Media Technologies
 Salzburg Research Forschungsgesellschaft mbH
 Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
 T: +43 662 2288 318 | M: +43 660 2747 925
 sergio.fernan...@salzburgresearch.at
 http://www.salzburgresearch.at


Re: [GSoC] community bonding period

2014-05-20 Thread Qihong Lin
Dear Sergio,

I've already set up the development environment. I'm ready to begin
coding in that fork.

The test suite and the test cases were removed from the code
repository on 5th May. Could you please tell me why? Any problems with
the tests? Can I reuse the removed test cases in my fork to ensure the
expected behaviors of my code?

Best regards,
Qihong Lin


On Mon, May 19, 2014 at 9:01 PM, Sergio Fernández wik...@apache.org wrote:
 Hi,

 according to the official timeline:

 http://www.google-melange.com/gsoc/events/google/gsoc2014

 today students begin coding for their Google Summer of Code projects;
 Google begins issuing initial student payments provided tax forms are on
 file and students are in good standing with their communities.

 I've saw some activity at the MARMOTTA-444 fork at github:

 https://github.com/confidencesun/marmotta/commits/MARMOTTA-444

 Please Qihong Lin, let me know if you have any question to actually start to
 work. I think we can privately talk for some internal details of your
 project (you can find me at skype as sergio.fernandez.lopez), but you should
 periodically report your progress here, probably according the project plan
 submitted with your proposal:

 http://www.google-melange.com/gsoc/proposal/review/org/google/gsoc2014/confidence_sun/5629499534213120

 Good luck!

 Cheers,


 --
 Sergio Fernández
 Senior Researcher
 Knowledge and Media Technologies
 Salzburg Research Forschungsgesellschaft mbH
 Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
 T: +43 662 2288 318 | M: +43 660 2747 925
 sergio.fernan...@salzburgresearch.at
 http://www.salzburgresearch.at


Re: [GSoC] community bonding period

2014-05-02 Thread Qihong Lin
Dear Sergio,

I follow your instructions to complete these task, with some questions:

1) I fork the mirror as confidencesun/marmotta [1], while
confidencesun is my github id.
I add you in the Collaborators of this repository [1]. Is that the
way you get the admin permissions?

2) I create a branch of MARMOTTA-444 from develop
I use eclipse (Juno), egit and m2e as the development tools to work it
out. Do you the same toolkit?

3) I clone the repository [1] to the local git.
I also try to import the local marmotta-ldp into eclipse as a maven
project. But at the step of Setup Maven plugin connectors, I get the
error:

No marketplace entries found to handle
maven-download-plugin:1.1.0:wget in Eclipse.  Please see Help for more
information.

I choose to resolve later, and pom of the project marmotta-ldp
shows the error:

Plugin execution not covered by lifecycle configuration:
com.googlecode.maven-download-plugin:maven-download-plugin:1.1.0:wget
(execution: download-ldp-test-cases, phase: process-test-resources)

It seems the m2e connector of maven-download-plugin is not installed
properly. I google for a long time, without successful solutions.
Could you please help me out?

4) I have to comment out the maven-download-plugin in the pom to
make everything compiles in eclipse. The project of marmotta-ldp and
its dependency projects look fine now in eclipse (see the attachment
picture). I think, the project of marmotta-ldp is the place I'd play
around, in this summer.

5) I push the modification of 4) to the remote github branch of
MARMOTTA-444. It seems OK. I think this is the way to commit code :)
Could you please make any modification to the upstream? I'd like to
test the pull synchronization.


Cheers,
Qihong Lin

[1] https://github.com/confidencesun/marmotta
[2] https://github.com/maven-download-plugin/maven-download-plugin




On Tue, Apr 29, 2014 at 5:46 PM, Sergio Fernández wik...@apache.org wrote:
 Hi Qihong Lin,


 On 26/04/14 15:13, Qihong Lin wrote:

 Thanks for your reminder! I'm so happy to be accepted by GSoC. I'll
 try my best in this summer to contribute to Marmotta.


 I'm sure you will ;-)


 In the first place, I'd like to set up the development environment.
 I've read the documentation of Marmotta development [1]. Could you
 please tell me where I should commit the code, in asf [2] or github
 [3]? Which branch am I supposed to work with, the hotfix branch,
 develop branch or the master branch? Shall I submit the patches to the
 community or directly commit the code to git?


 I do not have so much experience with GSoC, and as far as I've checked there
 is no common approach among all ASF projects...

 For me the best approach would be to use github for developing your project.
 So, you can:

   * Fork our mirror there [1] and give me (wikier) admin permissions.
   * Create, at least,  a branch from 'develop' for your project;
 according our development guidelines [2], I'd recommend you to
 use the issue [3] as name for the branch: MARMOTTA-444.
   * I'll closely follow your development there, using the comments on
 the code committed to provide you early feedback.
   * Create issues there for internal issues of the project.
   * But please use this mailing list for any further discussion.
   * Since your project is related with code that is still evolving,
 try to keep periodically updated your fork from upstream [4].

 Therefore, at the end we have all information to evaluate if your code it's
 suitable to be integrated with Marmotta, legally and technically.

 I think that could work. Before May 19, you still have some weeks to play
 with this environment, get used with Marmotta, and ask us any other
 question.

 Good luck!

 Cheers,


 [1] https://github.com/apache/marmotta
 [2] http://marmotta.apache.org/development
 [3] https://issues.apache.org/jira/browse/MARMOTTA-444
 [4] https://help.github.com/articles/syncing-a-fork


 --
 Sergio Fernández
 Senior Researcher
 Knowledge and Media Technologies
 Salzburg Research Forschungsgesellschaft mbH
 Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
 T: +43 662 2288 318 | M: +43 660 2747 925
 sergio.fernan...@salzburgresearch.at
 http://www.salzburgresearch.at


Re: [GSoC] community bonding period

2014-04-26 Thread Qihong Lin
Dear Sergio,

Thanks for your reminder! I'm so happy to be accepted by GSoC. I'll
try my best in this summer to contribute to Marmotta.

In the first place, I'd like to set up the development environment.
I've read the documentation of Marmotta development [1]. Could you
please tell me where I should commit the code, in asf [2] or github
[3]? Which branch am I supposed to work with, the hotfix branch,
develop branch or the master branch? Shall I submit the patches to the
community or directly commit the code to git?

Best regards,
Qihong Lin

[1] http://marmotta.apache.org/development.html
[2] git:https://git-wip-us.apache.org/repos/asf/marmotta.git
[3] https://github.com/apache/marmotta

On Wed, Apr 23, 2014 at 7:43 PM, Sergio Fernández wik...@apache.org wrote:
 Hi,

 in case you missed it, about two days ago Google announced which students
 got accepted into this year’s SoC:

 http://www.google-melange.com/gsoc/projects/list/google/gsoc2014

 From the 3 proposals submitted to Apache Marmotta, for different reasons
 only 1 has been finally accepted:

 Implementation of the LDP service for Apache Marmotta
 based on SPARQL 1.1, by Qihong Lin
 http://goo.gl/yX3fvi
 inspired by MARMOTTA-444

 Thanks for all the students who have spent time preparing proposals. Even
 without the granting from Google, the project would be still interested on
 implementing such features. So I'd like to invite you to join the project,
 as long as you are still interested.

 Now, until May 19, we are in the community bonding period:

 http://googlesummerofcode.blogspot.com/2007/04/so-what-is-this-community-bonding-all.html

 During this period students should learn about Marmotta, our release
 processes, the Apache Way, how we do things around here, interact with the
 community and close any knowledge gaps they might have. Please, we encourage
 to actually use this extra month for the benefit of your projects.

 Next up will be start of coding on May 19 followed by the midterm
 evaluations between June 23 and June 27. I will inform you separately about
 this.

 Have a good SoC!

 Kind regards,

 --
 Sergio Fernández
 Senior Researcher
 Knowledge and Media Technologies
 Salzburg Research Forschungsgesellschaft mbH
 Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
 T: +43 662 2288 318 | M: +43 660 2747 925
 sergio.fernan...@salzburgresearch.at
 http://www.salzburgresearch.at


Re: Contribute to Marmotta in GSoC 2014 (Provide an alternative SPARQL-based implementation of the LdpService)

2014-03-10 Thread Qihong Lin
Dear Sergio,

Thank you! I saw your update of MARMOTTA-444 on the new deadline of 31 July.
I just submitted my proposal [1] to the GSoC website, with a project plan
conforming to the deadline. Any comments are welcome!

Cheers,
Qihong Lin

[1]
https://www.google-melange.com/gsoc/proposal/review/student/google/gsoc2014/confidence_sun/5629499534213120



On Mon, Mar 10, 2014 at 5:41 PM, Sergio Fernández wik...@apache.org wrote:

 Dear Qihong Lin,


 On 07/03/14 09:23, Qihong Lin wrote:

 I have been composing the project proposal draft these days. I find some
 GSoC proposal examples, most of which contain the time table parts. I'd
 like to include the project schedule as well in my proposal.

 Basically GSoC 2014 goes in this way:
 
 Begin coding: 19 May
 Mid-term evaluation: 27 June
 End coding: 11 August
 

 However I find that the due date of MARMOTTA-444 in Jira is 30 June. Does
 it mean that I'm supposed to complete the work before the mid-term of GSoC
 2014? If so, how about the second part of the summer in July and August? I
 believe the Marmotta community has its plan of developing the Linked Data
 Platform implementations. I don't want to delay your original plan because
 of the GSoC program. Could you please tell me about the desired schedule?


 Don't worry, the date there was more a wish than an actual planned date.
 But that date fits with the GSoC's mid-term evaluation, which potentially
 is a good checkpoint for your project.


 Cheers,

 --
 Sergio Fernández
 Senior Researcher
 Knowledge and Media Technologies
 Salzburg Research Forschungsgesellschaft mbH
 Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
 T: +43 662 2288 318 | M: +43 660 2747 925
 sergio.fernan...@salzburgresearch.at
 http://www.salzburgresearch.at



Re: Contribute to Marmotta in GSoC 2014 (Provide an alternative SPARQL-based implementation of the LdpService)

2014-03-01 Thread Qihong Lin
Hi,

Please check my replays and questions below:

On Fri, Feb 28, 2014 at 4:12 PM, Sergio Fernández wik...@apache.org wrote:

 Dear Qihong Lin,


 On 28/02/14 08:23, Qihong Lin wrote:

 I'm Qihong Lin from Beijing Normal University Zhuhai Campus, P.R. China. I
 did some student projects in my university related to Semantic Web. I have
 good knowledge of RDF, SPARQL, Linked Data, with some development
 experience of Sesame and Jena. According to my background, I'd like to
 contribute to Marmotta in GSoC 2014, on MARMOTTA-444 [1] (Provide an
 alternative SPARQL-based implementation of the LdpService).


 Right now Jakob and myself are working on a Sesame-native implementation
 (for more details, see MARMOTTA-440 and the ldp branch on git), and we hope
 to have it sufficiently evolve to give a proper working framework for the
 project.

I can anticipate you it'd require quite good knowledge of SPARQL 1.1, as
 well of RDF and Sesame.


It seems the api and implementation are still in progress.
Is LdpService.java supposed to conform to the W3C working draft in 2013-07
[1] or the latest one here [2]? When will Linked Data Platform become a W3C
recommendation?

Now, I can totally understand the source code of Sesame-native
implementation. I have good knowledge of SPARQL 1.1. With Sesame, I can
write codes of SPARQL Query for LdpService.exists() and getStatements(),
while SPARQL Update [3] for LdpService.addResource() and deleteResource().
As to LdpService.exportResource() and generateETag(), it's just required to
translate the inline getStatement() codes into SPARQL queries. Am I right
about the above approaches?



  I also have some basic skills of SVN, Junit and Dependency Inversion. But
 I
 didn't work on open source projects before. Marmotta would be my first
 open
 source community to get involved, if I can get accepted. It's
 greatly appreciated if you can help me with the project application and
 the
 coding work.


 We use industry standards: git for code control, maven as build tool,
 junit and rest-assured for testing, Weld for CDI, etc. But don worry if
 your are not some familiar with any, because in case your proposal gets
 granted, a mentor will be assigned to help during the project execution.


Thanks for telling me about these. I'm familiar with maven and junit. As to
git and Weld, I've just started to learn their documents. Is rest-assured
the one here [4]?




  Is there a project proposal template to refer to?


 Sorry, this is the first time we participate in the GSoC. So we did not
 prepare any project proposal template. But I think what the general
 documentation describes should more than enough:

 https://www.google-melange.com/gsoc/document/show/gsoc_
 program/google/gsoc2014/help_page#5._What_should_a_student_proposal_look

 Hope this helps. Whatever other question you may have, just ask.


Thanks again, it helps a lot!



 Thanks for your interest.

 Cheers,

 --
 Sergio Fernández
 Senior Researcher
 Knowledge and Media Technologies
 Salzburg Research Forschungsgesellschaft mbH
 Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
 T: +43 662 2288 318 | M: +43 660 2747 925
 sergio.fernan...@salzburgresearch.at
 http://www.salzburgresearch.at


Best regards,
Qihong Lin

[1] http://www.w3.org/TR/ldp/
[2] https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp.html
[3] http://www.w3.org/TR/sparql11-update/
[4] http://code.google.com/p/rest-assured


Contribute to Marmotta in GSoC 2014 (Provide an alternative SPARQL-based implementation of the LdpService)

2014-02-27 Thread Qihong Lin
Hi all,

I'm Qihong Lin from Beijing Normal University Zhuhai Campus, P.R. China. I
did some student projects in my university related to Semantic Web. I have
good knowledge of RDF, SPARQL, Linked Data, with some development
experience of Sesame and Jena. According to my background, I'd like to
contribute to Marmotta in GSoC 2014, on MARMOTTA-444 [1] (Provide an
alternative SPARQL-based implementation of the LdpService).

I also have some basic skills of SVN, Junit and Dependency Inversion. But I
didn't work on open source projects before. Marmotta would be my first open
source community to get involved, if I can get accepted. It's
greatly appreciated if you can help me with the project application and the
coding work. Now I'm studying the documents of Marmotta. I can understand
the description in MARMOTTA-444 in jira. Could you please tell me more
details about it? Is there a project proposal template to refer to?

Best,
Qihong Lin

[1] https://issues.apache.org/jira/browse/MARMOTTA-444