[protege-owl] SWRL/Jess Problems

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[protege-owl] SWRL/Jess Problems

Steve Wartik
Hi,

I've included a small ontology that illustrates some of the bugs I've encountered in the SWRL/Jess integration. I've seen some discussion of related (?) bugs on this list, but not with an attached ontology. I'm hoping this message will serve as a concrete test case. Apologies if I'm what I'm reporting is already known.

The ontology models your basic attempt to infer that someone's father's brother is an uncle, that canonical example everyone uses. It contains 3 individuals, each a Person. Son/father and brother/brother properties relate the individuals.

The ontology has two SWRL rules. One expresses that two Persons related by a son/father property can be re-classified as Son and Father individuals. The other expresses that a son/father and brother/brother combination leads to the inference of an uncle/nephew relationship and a reclassification of an individual as an Uncle.

Okay. Perform the following steps:
  1. Start Protégé, and open the ontology by creating a new project from existing sources.
  2. Use the OWL Preferences item to show the SWRL tab.
  3. Go to the SWRL tab.
  4. Click the J button.
  5. Click the OWL+SWRL->Jess button.
    Issue: Aside from the Jess Control tab, the Jess tabs are all empty. I've had mixed luck getting the Jess rules displayed. I haven't figured out a reproducible sequence.
  6. Click the Run Jess button.
    Issue: The tabs are still empty.
  7. Click the Jess->OWL button.
    Issues:
      1. The display claims 8 individuals have been reclassified. Odd, since the KB only has 3 individuals.
      2. The Individuals tab displays some erroneous information:
        1. The Class Hierarchy pane shows Father and Son as having 4 instances and Uncle as having 2 instances. If you click one of these classes, you see only 1 instance (which is what I'd expect).
        2. The Individual Editor pane for Steve shows 4 "Son" tabs, the Individual Editor pane for Thomas shows 4 "Father" tabs, and the Individual Editor pane for Herschel shows 2 "Uncle" tabs. (These numbers match the number of instances shown in the Class Hierarchy pane.)
        3. Steve has-uncle Herschel, as expected. However, Herschel doesn't has-nephew Steve, even though has-uncle and has-nephew are inverse properties.
Hope this helps.

Steve Wartik
<?xml version="1.0"?>
<rdf:RDF
    xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
    xmlns:swrl="http://www.w3.org/2003/11/swrl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://fricka.itsd.ida.org:8080/rule-test.owl#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
  <a class="moz-txt-link-freetext" href="xml:base=">xml:base="http://fricka.itsd.ida.org:8080/rule-test.owl">
  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://www.w3.org/2003/11/swrlb"/>
    <owl:imports rdf:resource="http://www.w3.org/2003/11/swrl"/>
  </owl:Ontology>
  <owl:Class rdf:ID="Uncle">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Person"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Son">
    <rdfs:subClassOf rdf:resource="#Person"/>
  </owl:Class>
  <owl:Class rdf:ID="Father">
    <rdfs:subClassOf rdf:resource="#Person"/>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="has-father">
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="#Person"/>
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="has-son"/>
    </owl:inverseOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="has-brother">
    <rdfs:range rdf:resource="#Person"/>
    <owl:inverseOf rdf:resource="#has-brother"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/>
    <rdfs:domain rdf:resource="#Person"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="has-uncle">
    <rdfs:range rdf:resource="#Uncle"/>
    <rdfs:domain rdf:resource="#Person"/>
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="has-nephew"/>
    </owl:inverseOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#has-nephew">
    <rdfs:domain rdf:resource="#Uncle"/>
    <owl:inverseOf rdf:resource="#has-uncle"/>
    <rdfs:range rdf:resource="#Person"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#has-son">
    <rdfs:domain rdf:resource="#Person"/>
    <rdfs:range rdf:resource="#Person"/>
    <owl:inverseOf rdf:resource="#has-father"/>
  </owl:ObjectProperty>
  <swrl:Variable rdf:ID="f"/>
  <swrl:Variable rdf:ID="p2"/>
  <swrl:Variable rdf:ID="p1"/>
  <swrl:Variable rdf:ID="b"/>
  <Person rdf:ID="Thomas">
    <has-brother>
      <Person rdf:ID="Herschel">
        <has-brother rdf:resource="#Thomas"/>
      </Person>
    </has-brother>
    <has-son>
      <Person rdf:ID="Steve">
        <has-father rdf:resource="#Thomas"/>
      </Person>
    </has-son>
  </Person>
  <swrl:Imp rdf:ID="father-brother-is-uncle">
    <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:ClassAtom>
            <swrl:argument1>
              <swrl:Variable rdf:ID="s"/>
            </swrl:argument1>
            <swrl:classPredicate rdf:resource="#Person"/>
          </swrl:ClassAtom>
        </rdf:first>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:first>
              <swrl:IndividualPropertyAtom>
                <swrl:propertyPredicate rdf:resource="#has-father"/>
                <swrl:argument1 rdf:resource="#s"/>
                <swrl:argument2 rdf:resource="#f"/>
              </swrl:IndividualPropertyAtom>
            </rdf:first>
            <rdf:rest>
              <swrl:AtomList>
                <rdf:first>
                  <swrl:IndividualPropertyAtom>
                    <swrl:argument1 rdf:resource="#f"/>
                    <swrl:argument2 rdf:resource="#b"/>
                    <swrl:propertyPredicate rdf:resource="#has-brother"/>
                  </swrl:IndividualPropertyAtom>
                </rdf:first>
                <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
              </swrl:AtomList>
            </rdf:rest>
          </swrl:AtomList>
        </rdf:rest>
      </swrl:AtomList>
    </swrl:body>
    <swrl:head>
      <swrl:AtomList>
        <rdf:first>
          <swrl:IndividualPropertyAtom>
            <swrl:propertyPredicate rdf:resource="#has-uncle"/>
            <swrl:argument2 rdf:resource="#b"/>
            <swrl:argument1 rdf:resource="#s"/>
          </swrl:IndividualPropertyAtom>
        </rdf:first>
        <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
      </swrl:AtomList>
    </swrl:head>
  </swrl:Imp>
  <swrl:Imp rdf:ID="father-son">
    <swrl:head>
      <swrl:AtomList>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
            <rdf:first>
              <swrl:ClassAtom>
                <swrl:argument1 rdf:resource="#p1"/>
                <swrl:classPredicate rdf:resource="#Son"/>
              </swrl:ClassAtom>
            </rdf:first>
          </swrl:AtomList>
        </rdf:rest>
        <rdf:first>
          <swrl:ClassAtom>
            <swrl:argument1 rdf:resource="#p2"/>
            <swrl:classPredicate rdf:resource="#Father"/>
          </swrl:ClassAtom>
        </rdf:first>
      </swrl:AtomList>
    </swrl:head>
    <swrl:body>
      <swrl:AtomList>
        <rdf:first>
          <swrl:ClassAtom>
            <swrl:argument1 rdf:resource="#p1"/>
            <swrl:classPredicate rdf:resource="#Person"/>
          </swrl:ClassAtom>
        </rdf:first>
        <rdf:rest>
          <swrl:AtomList>
            <rdf:rest>
              <swrl:AtomList>
                <rdf:first>
                  <swrl:IndividualPropertyAtom>
                    <swrl:propertyPredicate rdf:resource="#has-father"/>
                    <swrl:argument1 rdf:resource="#p1"/>
                    <swrl:argument2 rdf:resource="#p2"/>
                  </swrl:IndividualPropertyAtom>
                </rdf:first>
                <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
              </swrl:AtomList>
            </rdf:rest>
            <rdf:first>
              <swrl:ClassAtom>
                <swrl:argument1 rdf:resource="#p2"/>
                <swrl:classPredicate rdf:resource="#Person"/>
              </swrl:ClassAtom>
            </rdf:first>
          </swrl:AtomList>
        </rdf:rest>
      </swrl:AtomList>
    </swrl:body>
  </swrl:Imp>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 2.2, Build 322)  http://protege.stanford.edu -->

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Re: SWRL/Jess Problems

Martin O'Connor

I have fixed these display and inference bugs. They fixes will be
available available in the next build (or the current fixed versions can
be downloaded from the Protege-OWL and SWRL-Jess Bridge Subversion
repositories).

Martin


Steven Wartik wrote:

> Hi,
>
> I've included a small ontology that illustrates some of the bugs I've
> encountered in the SWRL/Jess integration. I've seen some discussion of
> related (?) bugs on this list, but not with an attached ontology. I'm
> hoping this message will serve as a concrete test case. Apologies if
> I'm what I'm reporting is already known.
>
> The ontology models your basic attempt to infer that someone's
> father's brother is an uncle, that canonical example everyone uses. It
> contains 3 individuals, each a Person. Son/father and brother/brother
> properties relate the individuals.
>
> The ontology has two SWRL rules. One expresses that two Persons
> related by a son/father property can be re-classified as Son and
> Father individuals. The other expresses that a son/father and
> brother/brother combination leads to the inference of an uncle/nephew
> relationship and a reclassification of an individual as an Uncle.
>
> Okay. Perform the following steps:
>
>    1. Start Protégé, and open the ontology by creating a new project
>       from existing sources.
>    2. Use the OWL Preferences item to show the SWRL tab.
>    3. Go to the SWRL tab.
>    4. Click the J button.
>    5. Click the OWL+SWRL->Jess button.
>
>           Issue: Aside from the Jess Control tab, the Jess tabs are
>           all empty. I've had mixed luck getting the Jess rules
>           displayed. I haven't figured out a reproducible sequence.
>
>    6. Click the Run Jess button.
>
>           Issue: The tabs are still empty.
>
>    7. Click the Jess->OWL button.
>
>           Issues:
>
>                1. The display claims 8 individuals have been
>                   reclassified. Odd, since the KB only has 3 individuals.
>                2. The Individuals tab displays some erroneous information:
>                      1. The Class Hierarchy pane shows Father and Son
>                         as having 4 instances and Uncle as having 2
>                         instances. If you click one of these classes,
>                         you see only 1 instance (which is what I'd
>                         expect).
>                      2. The Individual Editor pane for Steve shows 4
>                         "Son" tabs, the Individual Editor pane for
>                         Thomas shows 4 "Father" tabs, and the
>                         Individual Editor pane for Herschel shows 2
>                         "Uncle" tabs. (These numbers match the number
>                         of instances shown in the Class Hierarchy pane.)
>                      3. Steve has-uncle Herschel, as expected.
>                         However, Herschel doesn't has-nephew Steve,
>                         even though has-uncle and has-nephew are
>                         inverse properties.
>
> Hope this helps.
>
> Steve Wartik
>
>> <?xml version="1.0"?>
>> <rdf:RDF
>>     xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
>>     xmlns:swrl="http://www.w3.org/2003/11/swrl#"
>>     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>>     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>>     xmlns:owl="http://www.w3.org/2002/07/owl#"
>>     xmlns="http://fricka.itsd.ida.org:8080/rule-test.owl#"
>>     xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
>>     xmlns:dc="http://purl.org/dc/elements/1.1/"
>>   xml:base="http://fricka.itsd.ida.org:8080/rule-test.owl">
>>   <owl:Ontology rdf:about="">
>>     <owl:imports rdf:resource="http://www.w3.org/2003/11/swrlb"/>
>>     <owl:imports rdf:resource="http://www.w3.org/2003/11/swrl"/>
>>   </owl:Ontology>
>>   <owl:Class rdf:ID="Uncle">
>>     <rdfs:subClassOf>
>>       <owl:Class rdf:ID="Person"/>
>>     </rdfs:subClassOf>
>>   </owl:Class>
>>   <owl:Class rdf:ID="Son">
>>     <rdfs:subClassOf rdf:resource="#Person"/>
>>   </owl:Class>
>>   <owl:Class rdf:ID="Father">
>>     <rdfs:subClassOf rdf:resource="#Person"/>
>>   </owl:Class>
>>   <owl:ObjectProperty rdf:ID="has-father">
>>     <rdfs:domain rdf:resource="#Person"/>
>>     <rdfs:range rdf:resource="#Person"/>
>>     <owl:inverseOf>
>>       <owl:ObjectProperty rdf:ID="has-son"/>
>>     </owl:inverseOf>
>>   </owl:ObjectProperty>
>>   <owl:ObjectProperty rdf:ID="has-brother">
>>     <rdfs:range rdf:resource="#Person"/>
>>     <owl:inverseOf rdf:resource="#has-brother"/>
>>     <rdf:type
>> rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/>
>>     <rdfs:domain rdf:resource="#Person"/>
>>   </owl:ObjectProperty>
>>   <owl:ObjectProperty rdf:ID="has-uncle">
>>     <rdfs:range rdf:resource="#Uncle"/>
>>     <rdfs:domain rdf:resource="#Person"/>
>>     <owl:inverseOf>
>>       <owl:ObjectProperty rdf:ID="has-nephew"/>
>>     </owl:inverseOf>
>>   </owl:ObjectProperty>
>>   <owl:ObjectProperty rdf:about="#has-nephew">
>>     <rdfs:domain rdf:resource="#Uncle"/>
>>     <owl:inverseOf rdf:resource="#has-uncle"/>
>>     <rdfs:range rdf:resource="#Person"/>
>>   </owl:ObjectProperty>
>>   <owl:ObjectProperty rdf:about="#has-son">
>>     <rdfs:domain rdf:resource="#Person"/>
>>     <rdfs:range rdf:resource="#Person"/>
>>     <owl:inverseOf rdf:resource="#has-father"/>
>>   </owl:ObjectProperty>
>>   <swrl:Variable rdf:ID="f"/>
>>   <swrl:Variable rdf:ID="p2"/>
>>   <swrl:Variable rdf:ID="p1"/>
>>   <swrl:Variable rdf:ID="b"/>
>>   <Person rdf:ID="Thomas">
>>     <has-brother>
>>       <Person rdf:ID="Herschel">
>>         <has-brother rdf:resource="#Thomas"/>
>>       </Person>
>>     </has-brother>
>>     <has-son>
>>       <Person rdf:ID="Steve">
>>         <has-father rdf:resource="#Thomas"/>
>>       </Person>
>>     </has-son>
>>   </Person>
>>   <swrl:Imp rdf:ID="father-brother-is-uncle">
>>     <swrl:body>
>>       <swrl:AtomList>
>>         <rdf:first>
>>           <swrl:ClassAtom>
>>             <swrl:argument1>
>>               <swrl:Variable rdf:ID="s"/>
>>             </swrl:argument1>
>>             <swrl:classPredicate rdf:resource="#Person"/>
>>           </swrl:ClassAtom>
>>         </rdf:first>
>>         <rdf:rest>
>>           <swrl:AtomList>
>>             <rdf:first>
>>               <swrl:IndividualPropertyAtom>
>>                 <swrl:propertyPredicate rdf:resource="#has-father"/>
>>                 <swrl:argument1 rdf:resource="#s"/>
>>                 <swrl:argument2 rdf:resource="#f"/>
>>               </swrl:IndividualPropertyAtom>
>>             </rdf:first>
>>             <rdf:rest>
>>               <swrl:AtomList>
>>                 <rdf:first>
>>                   <swrl:IndividualPropertyAtom>
>>                     <swrl:argument1 rdf:resource="#f"/>
>>                     <swrl:argument2 rdf:resource="#b"/>
>>                     <swrl:propertyPredicate rdf:resource="#has-brother"/>
>>                   </swrl:IndividualPropertyAtom>
>>                 </rdf:first>
>>                 <rdf:rest
>> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
>>               </swrl:AtomList>
>>             </rdf:rest>
>>           </swrl:AtomList>
>>         </rdf:rest>
>>       </swrl:AtomList>
>>     </swrl:body>
>>     <swrl:head>
>>       <swrl:AtomList>
>>         <rdf:first>
>>           <swrl:IndividualPropertyAtom>
>>             <swrl:propertyPredicate rdf:resource="#has-uncle"/>
>>             <swrl:argument2 rdf:resource="#b"/>
>>             <swrl:argument1 rdf:resource="#s"/>
>>           </swrl:IndividualPropertyAtom>
>>         </rdf:first>
>>         <rdf:rest
>> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
>>       </swrl:AtomList>
>>     </swrl:head>
>>   </swrl:Imp>
>>   <swrl:Imp rdf:ID="father-son">
>>     <swrl:head>
>>       <swrl:AtomList>
>>         <rdf:rest>
>>           <swrl:AtomList>
>>             <rdf:rest
>> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
>>             <rdf:first>
>>               <swrl:ClassAtom>
>>                 <swrl:argument1 rdf:resource="#p1"/>
>>                 <swrl:classPredicate rdf:resource="#Son"/>
>>               </swrl:ClassAtom>
>>             </rdf:first>
>>           </swrl:AtomList>
>>         </rdf:rest>
>>         <rdf:first>
>>           <swrl:ClassAtom>
>>             <swrl:argument1 rdf:resource="#p2"/>
>>             <swrl:classPredicate rdf:resource="#Father"/>
>>           </swrl:ClassAtom>
>>         </rdf:first>
>>       </swrl:AtomList>
>>     </swrl:head>
>>     <swrl:body>
>>       <swrl:AtomList>
>>         <rdf:first>
>>           <swrl:ClassAtom>
>>             <swrl:argument1 rdf:resource="#p1"/>
>>             <swrl:classPredicate rdf:resource="#Person"/>
>>           </swrl:ClassAtom>
>>         </rdf:first>
>>         <rdf:rest>
>>           <swrl:AtomList>
>>             <rdf:rest>
>>               <swrl:AtomList>
>>                 <rdf:first>
>>                   <swrl:IndividualPropertyAtom>
>>                     <swrl:propertyPredicate rdf:resource="#has-father"/>
>>                     <swrl:argument1 rdf:resource="#p1"/>
>>                     <swrl:argument2 rdf:resource="#p2"/>
>>                   </swrl:IndividualPropertyAtom>
>>                 </rdf:first>
>>                 <rdf:rest
>> rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
>>               </swrl:AtomList>
>>             </rdf:rest>
>>             <rdf:first>
>>               <swrl:ClassAtom>
>>                 <swrl:argument1 rdf:resource="#p2"/>
>>                 <swrl:classPredicate rdf:resource="#Person"/>
>>               </swrl:ClassAtom>
>>             </rdf:first>
>>           </swrl:AtomList>
>>         </rdf:rest>
>>       </swrl:AtomList>
>>     </swrl:body>
>>   </swrl:Imp>
>> </rdf:RDF>
>>
>> <!-- Created with Protege (with OWL Plugin 2.2, Build 322)  
>> http://protege.stanford.edu -->
>
>

-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Re: SWRL/Jess Problems

ulrich thye
On Wed, 14 Jun 2006 15:45:59 -0700
"Martin O'Connor" <[hidden email]> wrote:
Hi,

sorry about my stupid question:

Can you please tell me the correct syntax for svn checkout URL for the
new release.

>svn checkout ..... ?

Thanks

Ulrich
-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Re: SWRL/Jess Problems

Steve Wartik
Ulrich,

The URLs I use are
http://smi-protege.stanford.edu/repos/protege/{protege-core,owl,swrl-jess-bridge}/trunk.

These are not quite the same as the advertised URLs, which for some
reason always give me a 301 error.

Steve Wartik

ulrich thye wrote:

> On Wed, 14 Jun 2006 15:45:59 -0700
> "Martin O'Connor" <[hidden email]> wrote:
> Hi,
>
> sorry about my stupid question:
>
> Can you please tell me the correct syntax for svn checkout URL for the
> new release.
>  
> Thanks
>
> Ulrich
>
>  

-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Subproperties

JMiller
In reply to this post by Steve Wartik

I have a question on subproperties.

Given the following property inheritance hierarchy (please forgive the random pseudocode):

isAssociatedWith (transitive,symmetric)
    hasMet  (symmetric)
        knows  (symmetric)

And the following relationships (representing people)

A knows B
B hasMet C
C isAssociatedWith D

When I do a SPARQL query in the Protege GUI for all 'isAssociatedWith' relationships, I only see the C<->D relationship, none of the others.

In the instances shown in the GUI (not from SPARQL), I see the properties loaded as expected (e.g., A knows B, A hasMet B, and A isAssociatedWith B)

In SPARQL, I was hoping to see that everyone was associated with everyone else, given the property/subproperty relationships.

Is there a special way to query and see subproperties, as well as inferred relationships?

Jim Miller
Reply | Threaded
Open this post in threaded view
|

[protege-owl] Re: Subversion URLs [WAS: SWRL/Jess Problems]

Jennifer Vendetti-2
In reply to this post by Steve Wartik
Steven,

What do you mean by "the advertised URLs"?  We document how to do
Subversion checkouts on our Web site:

http://protege.stanford.edu/doc/svn/contribute.html

This HTML page has the correct URLs for doing checkouts, i.e.
http://smi-protege.stanford.edu/repos/protege.  Is there another
location on our site that has incorrect instructions?

Jennifer

Steven Wartik wrote:

> Ulrich,
>
> The URLs I use are
> http://smi-protege.stanford.edu/repos/protege/{protege-core,owl,swrl-jess-bridge}/trunk.
>
>
> These are not quite the same as the advertised URLs, which for some
> reason always give me a 301 error.
>
> Steve Wartik

-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Re: Subversion URLs [WAS: SWRL/Jess Problems]

Steve Wartik
Jennifer,

The URL http://protege.stanford.edu/doc/dev.html#source is where I had
come across what I labeled the "advertised" repositories. The two source
code links refer to http://smi-protege.stanford.edu/svn/.

FYI, I had never seen the contribute.html page. I guess I was familiar
with the dev.html page and navigated there out of habit.

All readers: sorry about any confusion I caused. Pay attention to
Jennifer, not me.

Steve Wartik

Jennifer Vendetti wrote:

> Steven,
>
> What do you mean by "the advertised URLs"?  We document how to do
> Subversion checkouts on our Web site:
>
> http://protege.stanford.edu/doc/svn/contribute.html
>
> This HTML page has the correct URLs for doing checkouts, i.e.
> http://smi-protege.stanford.edu/repos/protege.  Is there another
> location on our site that has incorrect instructions?
>
> Jennifer
>
> Steven Wartik wrote:
>
>> Ulrich,
>>
>> The URLs I use are
>> http://smi-protege.stanford.edu/repos/protege/{protege-core,owl,swrl-jess-bridge}/trunk.
>>
>>
>> These are not quite the same as the advertised URLs, which for some
>> reason always give me a 301 error.
>>
>> Steve Wartik
>
> -------------------------------------------------------------------------
> To unsubscribe go to http://protege.stanford.edu/community/subscribe.html
>
>
>


-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Re: Subversion URLs [WAS: SWRL/Jess Problems]

Jennifer Vendetti-2
Sorry this is causing confusion.  The links on the Web page take you to
the ViewVC application that allows you to browse the source code via a
nice user interface.  The URLs for the ViewVC application are different
than the URLs you use to download the source code via a Subversion
client (listed in the Contributor's Guide).  I will try and think of a
way to reword those sentences so that it's clear that there are two
different URLs - one for browsing our source code via ViewVC, and one
for downloading the source code via a Subversion client.

In the mean time, the correct URLs are:

Browse with ViewVC: http://smi-protege.stanford.edu/svn/owl/trunk/
Download with Subversion client:
http://smi-protege.stanford.edu/repos/protege/owl/trunk/

Jennifer

Steven Wartik wrote:

> Jennifer,
>
> The URL http://protege.stanford.edu/doc/dev.html#source is where I had
> come across what I labeled the "advertised" repositories. The two
> source code links refer to http://smi-protege.stanford.edu/svn/.
>
> FYI, I had never seen the contribute.html page. I guess I was familiar
> with the dev.html page and navigated there out of habit.
>
> All readers: sorry about any confusion I caused. Pay attention to
> Jennifer, not me.
>
> Steve Wartik
>
> Jennifer Vendetti wrote:
>
>> Steven,
>>
>> What do you mean by "the advertised URLs"?  We document how to do
>> Subversion checkouts on our Web site:
>>
>> http://protege.stanford.edu/doc/svn/contribute.html
>>
>> This HTML page has the correct URLs for doing checkouts, i.e.
>> http://smi-protege.stanford.edu/repos/protege.  Is there another
>> location on our site that has incorrect instructions?
>>
>> Jennifer
>>
>> Steven Wartik wrote:
>>
>>> Ulrich,
>>>
>>> The URLs I use are
>>> http://smi-protege.stanford.edu/repos/protege/{protege-core,owl,swrl-jess-bridge}/trunk.
>>>
>>>
>>> These are not quite the same as the advertised URLs, which for some
>>> reason always give me a 301 error.
>>>
>>> Steve Wartik
>>
>>
>> -------------------------------------------------------------------------
>>
>> To unsubscribe go to
>> http://protege.stanford.edu/community/subscribe.html
>>
>>
>>
>
>
> -------------------------------------------------------------------------
> To unsubscribe go to http://protege.stanford.edu/community/subscribe.html
>
-------------------------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/community/subscribe.html

Reply | Threaded
Open this post in threaded view
|

[protege-owl] Au secours! SVP est ce que quelqu'un pourrait me dire comment me désabonner

jalila el bahi






------------------------------------------------------------------------- To unsubscribe go to http://protege.stanford.edu/community/subscribe.html