You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Miguel Bento Alves <mb...@gmail.com> on 2014/06/20 17:04:10 UTC

GSoC - Jena650 - Define SPARQL commands in Jena rules

https://github.com/mbentoalves/jena

With my last last update, a Sparql command in a rule can be parsed. Examples
of valid rules with a Sparql command can be (look only to syntax, the rule
doesn't have any meaning):
[rule1: 
(\\\sparql Select ?c ?d
where {?c <eg:p> ?d} \\\sparql)
(?a <eg:p> ?b) 
(?b <eg:p> ?c) -> (?a <eg:p> ?c)]
[rule1: 
 (?a <eg:p> ?c) <-
(\\\sparql Select ?c ?d
where {?c <eg:p> ?d} \\\sparql)
(?a <eg:p> ?b) 
(?b <eg:p> ?c)]

A Sparql command is enclosure in a rule as:

(\\\SPARQL
PREFIX
SELECT ...

\\\SPARQL)


An "open door" was left if in future we want go deep in parsing,
overcoming corner cases, and simplify the declaration, like this:
[rule1: 
(Select ?c ?d 
where {?c <eg:p> ?d})
(?a <eg:p> ?b) 
(?b <eg:p> ?c) -> (?a <eg:p> ?c)]
Next steps: 
working on execution of a rule with a Sparql command. In my opinion, it will
be better to start with a rule only with one Sparql command. Something like:
[rule1: 
 (?a <eg:p2> ?c) <-
(\\\sparql Select ?c ?d
where {?c <eg:p> ?d} \\\sparql)
]
After this step, the main goals are fulfilled. However, is desired rules
that combines sparql commands with clauses, that is the next step.

Comments and reviews are welcome.

Miguel



Re: GSoC - Jena650 - Define SPARQL commands in Jena rules

Posted by Andy Seaborne <an...@apache.org>.
On 23/06/14 14:37, Andy Seaborne wrote:
> On 20/06/14 16:04, Miguel Bento Alves wrote:
>> https://github.com/mbentoalves/jena
>
>
> Looking at the POM for jena-core, it still says ARQ 2.8.8.
>
> Is the github repo uptodate?
> What does maven dependency:tree say?
>

Something looks suspicious: ARQ is a dependency twice.

    <dependency>
       <groupId>com.hp.hpl.jena</groupId>
       <artifactId>arq</artifactId>
       <version>2.8.8</version>
       <type>zip</type>
..
      </dependency>

     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>jena-arq</artifactId>
       <version>${project.version}</version>
     </dependency>



>      Andy
>
>>
>> With my last last update, a Sparql command in a rule can be parsed.
>> Examples
>> of valid rules with a Sparql command can be (look only to syntax, the
>> rule
>> doesn't have any meaning):
>> [rule1:
>> (\\\sparql Select ?c ?d
>> where {?c <eg:p> ?d} \\\sparql)
>> (?a <eg:p> ?b)
>> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
>> [rule1:
>>   (?a <eg:p> ?c) <-
>> (\\\sparql Select ?c ?d
>> where {?c <eg:p> ?d} \\\sparql)
>> (?a <eg:p> ?b)
>> (?b <eg:p> ?c)]
>>
>> A Sparql command is enclosure in a rule as:
>>
>> (\\\SPARQL
>> PREFIX
>> SELECT ...
>>
>> \\\SPARQL)
>>
>>
>> An "open door" was left if in future we want go deep in parsing,
>> overcoming corner cases, and simplify the declaration, like this:
>> [rule1:
>> (Select ?c ?d
>> where {?c <eg:p> ?d})
>> (?a <eg:p> ?b)
>> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
>> Next steps:
>> working on execution of a rule with a Sparql command. In my opinion,
>> it will
>> be better to start with a rule only with one Sparql command. Something
>> like:
>> [rule1:
>>   (?a <eg:p2> ?c) <-
>> (\\\sparql Select ?c ?d
>> where {?c <eg:p> ?d} \\\sparql)
>> ]
>> After this step, the main goals are fulfilled. However, is desired rules
>> that combines sparql commands with clauses, that is the next step.
>>
>> Comments and reviews are welcome.
>>
>> Miguel
>>
>>
>>
>


Re: GSoC - Jena650 - Define SPARQL commands in Jena rules

Posted by Andy Seaborne <an...@apache.org>.
On 23/06/14 16:28, Miguel Bento Alves wrote:
> Hi Andy,
>
> I already updated. However, still returning error in tests task. To work,
> I compile skipping the tests. Attached, I send the list of errors.

You could run just the reasoner tests if nothing outside that package 
tree has changed: - change the POM to run just t

<include>com/hp/hpl/jena/reasoner/test/TestPackage.java</include>

and you can run the reasoner tests directly from your IDE.

	Andy

>
> Miguel
>
>
> On 23/06/14 14:37, "Andy Seaborne" <an...@apache.org> wrote:
>
>> On 20/06/14 16:04, Miguel Bento Alves wrote:
>>> https://github.com/mbentoalves/jena
>>
>>
>> Looking at the POM for jena-core, it still says ARQ 2.8.8.
>>
>> Is the github repo uptodate?
>> What does maven dependency:tree say?
>>
>> 	Andy
>>
>>>
>>> With my last last update, a Sparql command in a rule can be parsed.
>>> Examples
>>> of valid rules with a Sparql command can be (look only to syntax, the
>>> rule
>>> doesn't have any meaning):
>>> [rule1:
>>> (\\\sparql Select ?c ?d
>>> where {?c <eg:p> ?d} \\\sparql)
>>> (?a <eg:p> ?b)
>>> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
>>> [rule1:
>>>    (?a <eg:p> ?c) <-
>>> (\\\sparql Select ?c ?d
>>> where {?c <eg:p> ?d} \\\sparql)
>>> (?a <eg:p> ?b)
>>> (?b <eg:p> ?c)]
>>>
>>> A Sparql command is enclosure in a rule as:
>>>
>>> (\\\SPARQL
>>> PREFIX
>>> SELECT ...
>>>
>>> \\\SPARQL)
>>>
>>>
>>> An "open door" was left if in future we want go deep in parsing,
>>> overcoming corner cases, and simplify the declaration, like this:
>>> [rule1:
>>> (Select ?c ?d
>>> where {?c <eg:p> ?d})
>>> (?a <eg:p> ?b)
>>> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
>>> Next steps:
>>> working on execution of a rule with a Sparql command. In my opinion, it
>>> will
>>> be better to start with a rule only with one Sparql command. Something
>>> like:
>>> [rule1:
>>>    (?a <eg:p2> ?c) <-
>>> (\\\sparql Select ?c ?d
>>> where {?c <eg:p> ?d} \\\sparql)
>>> ]
>>> After this step, the main goals are fulfilled. However, is desired rules
>>> that combines sparql commands with clauses, that is the next step.
>>>
>>> Comments and reviews are welcome.
>>>
>>> Miguel
>>>
>>>
>>>
>>
>


Re: GSoC - Jena650 - Define SPARQL commands in Jena rules

Posted by Miguel Bento Alves <mb...@gmail.com>.
Hi Andy,

I already updated. However, still returning error in tests task. To work,
I compile skipping the tests. Attached, I send the list of errors.

Miguel


On 23/06/14 14:37, "Andy Seaborne" <an...@apache.org> wrote:

>On 20/06/14 16:04, Miguel Bento Alves wrote:
>> https://github.com/mbentoalves/jena
>
>
>Looking at the POM for jena-core, it still says ARQ 2.8.8.
>
>Is the github repo uptodate?
>What does maven dependency:tree say?
>
>	Andy
>
>>
>> With my last last update, a Sparql command in a rule can be parsed.
>>Examples
>> of valid rules with a Sparql command can be (look only to syntax, the
>>rule
>> doesn't have any meaning):
>> [rule1:
>> (\\\sparql Select ?c ?d
>> where {?c <eg:p> ?d} \\\sparql)
>> (?a <eg:p> ?b)
>> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
>> [rule1:
>>   (?a <eg:p> ?c) <-
>> (\\\sparql Select ?c ?d
>> where {?c <eg:p> ?d} \\\sparql)
>> (?a <eg:p> ?b)
>> (?b <eg:p> ?c)]
>>
>> A Sparql command is enclosure in a rule as:
>>
>> (\\\SPARQL
>> PREFIX
>> SELECT ...
>>
>> \\\SPARQL)
>>
>>
>> An "open door" was left if in future we want go deep in parsing,
>> overcoming corner cases, and simplify the declaration, like this:
>> [rule1:
>> (Select ?c ?d
>> where {?c <eg:p> ?d})
>> (?a <eg:p> ?b)
>> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
>> Next steps:
>> working on execution of a rule with a Sparql command. In my opinion, it
>>will
>> be better to start with a rule only with one Sparql command. Something
>>like:
>> [rule1:
>>   (?a <eg:p2> ?c) <-
>> (\\\sparql Select ?c ?d
>> where {?c <eg:p> ?d} \\\sparql)
>> ]
>> After this step, the main goals are fulfilled. However, is desired rules
>> that combines sparql commands with clauses, that is the next step.
>>
>> Comments and reviews are welcome.
>>
>> Miguel
>>
>>
>>
>


Re: GSoC - Jena650 - Define SPARQL commands in Jena rules

Posted by Andy Seaborne <an...@apache.org>.
On 20/06/14 16:04, Miguel Bento Alves wrote:
> https://github.com/mbentoalves/jena


Looking at the POM for jena-core, it still says ARQ 2.8.8.

Is the github repo uptodate?
What does maven dependency:tree say?

	Andy

>
> With my last last update, a Sparql command in a rule can be parsed. Examples
> of valid rules with a Sparql command can be (look only to syntax, the rule
> doesn't have any meaning):
> [rule1:
> (\\\sparql Select ?c ?d
> where {?c <eg:p> ?d} \\\sparql)
> (?a <eg:p> ?b)
> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
> [rule1:
>   (?a <eg:p> ?c) <-
> (\\\sparql Select ?c ?d
> where {?c <eg:p> ?d} \\\sparql)
> (?a <eg:p> ?b)
> (?b <eg:p> ?c)]
>
> A Sparql command is enclosure in a rule as:
>
> (\\\SPARQL
> PREFIX
> SELECT ...
>
> \\\SPARQL)
>
>
> An "open door" was left if in future we want go deep in parsing,
> overcoming corner cases, and simplify the declaration, like this:
> [rule1:
> (Select ?c ?d
> where {?c <eg:p> ?d})
> (?a <eg:p> ?b)
> (?b <eg:p> ?c) -> (?a <eg:p> ?c)]
> Next steps:
> working on execution of a rule with a Sparql command. In my opinion, it will
> be better to start with a rule only with one Sparql command. Something like:
> [rule1:
>   (?a <eg:p2> ?c) <-
> (\\\sparql Select ?c ?d
> where {?c <eg:p> ?d} \\\sparql)
> ]
> After this step, the main goals are fulfilled. However, is desired rules
> that combines sparql commands with clauses, that is the next step.
>
> Comments and reviews are welcome.
>
> Miguel
>
>
>