Property union

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

Re: Use of inverseFunctional for data properties

Timothy Redmond

Then could the described behaviour be a parsing problem?

It is not clear that there is a good choice here.

The foaf ontology seems to have a clear pun of an object property with a data property:

  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox_sha1sum" vs:term_status="testing" rdfs:label="sha1sum of a personal mailbox URI name" rdfs:comment="The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
	... some discussion of inverse functional properties here ...
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>

  

Given this and the observation that

Object and Data properties can not be punned.
http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Typing_Constraints_of_OWL_2_DL
  

it would seem that the obvious conclusion is that, strictly speaking, foaf is an OWL Full ontology that may give trouble to OWL API based tools. 

-Timothy


On 09/22/2010 12:33 AM, Thomas Schneider wrote:

On 22 Sep 2010, at 03:52, Alan Ruttenberg wrote:

On Tue, Sep 21, 2010 at 4:04 AM, Thomas Schneider [hidden email] wrote:

On 21 Sep 2010, at 08:43, Evain, Jean-Pierre wrote:

Good morning.

While looking at the FOAF ontology on Protégé 4.0, different properties,
although declared as data properties, would be displayed as data and object
properties.

Would you confirm that this results from the fact that these properties
are also declared as inverseFunctional, which would seem to make them look
like object properties to Protégé?

I don't know the FOAF ontology, but I suspect that the described behaviour
is due to punning, which is allowed in OWL 2: two entities of different type
(e.g. an object property and a data property) can have the same name.

Object and Data properties can not be punned.
http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Typing_Constraints_of_OWL_2_DL

Hmmm, sorry for overlooking this ...

Then could the described behaviour be a parsing problem? It might be worth trying to open the same ontology with the recent Protégé version (4.1 beta), where conformance with the OWL specification has been improved.

But maybe someone from the Protégé team should comment on this.

Cheers

Thomas


It is
possible that, if the parser reads an InverseFunctional statement, that the
property is punned and treated as an object property for this particular
statement and as a data property otherwise.

However, I can't say for sure that this is the actual reason.

It also seems, still on Protégé 4.0 that it is not proposed to declare
data properties as being inverseFunctional. Any reason?

Neither in 4.0 nor in 4.1 can you declare data properties as inverse
functional. The reason is that the OWL specification doesn't allow this. If
it were allowed, reasoning would become an undecidable problem.

Interesting to note that reasoners accept all this.

I'm not sure what exactly you mean. If you invoked the reasoner within
Protégé, it worked on the representation of the ontology created by Protégé
(or the underlying OWL API). Since the properties in question had been
punned during parsing as described above, the reasoner got the
InverseFunctional statements for object properties. However, if you invoked
a reasoner directly, e.g., Pellet on the command line, then they might
simply have used punning too.

Cheers

Thomas


What do you think?

Regards,

Jean-pierre
-----------------------------------------
**************************************************
This email and any files transmitted with it
are confidential and intended solely for the
use of the individual or entity to whom they
are addressed.
If you have received this email in error,
please notify the system manager.
This footnote also confirms that this email
message has been swept by the mailgateway
**************************************************

_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Fremantle (vb.)
 To steal things not worth the bother of stealing. One steals cars,
 money and silver. Book matches, airline eyepatches and individual
 pots of Trust House Forte apricot jam are merely fremantled.

                 Douglas Adams, John Lloyd: The Deeper Meaning of Liff




_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback


_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Fremantle (vb.)
  To steal things not worth the bother of stealing. One steals cars,
  money and silver. Book matches, airline eyepatches and individual
  pots of Trust House Forte apricot jam are merely fremantled.

                  Douglas Adams, John Lloyd: The Deeper Meaning of Liff



_______________________________________________ p4-feedback mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/p4-feedback


_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

RE : Use of inverseFunctional for data properties

Evain, Jean-Pierre
Hi Timothy,

I appreciate the nature of the technical problem on punning and OWL versions.

On the other hand, I have a non-technical issue, which is that W3C considers FOAF as the coolest possible way of describing persons and organisations (when I personally question the rdf and value of the geek profile that it really is .-).

When you mention a problem with OWL API tools, you mean that most of them don't implement OWL FULL (yet, if ever?)

Regards,

jean-pierre

________________________________
De : [hidden email] [[hidden email]] de la part de Timothy Redmond [[hidden email]]
Date d'envoi : mercredi, 22. septembre 2010 10:03
À : [hidden email]
Objet : Re: [p4-feedback] Use of inverseFunctional for data properties


Then could the described behaviour be a parsing problem?

It is not clear that there is a good choice here.

The foaf ontology seems to have a clear pun of an object property with a data property:


  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox_sha1sum"<http://xmlns.com/foaf/0.1/mbox_sha1sum> vs:term_status="testing" rdfs:label="sha1sum of a personal mailbox URI name" rdfs:comment="The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"<http://www.w3.org/2002/07/owl#InverseFunctionalProperty>/>
        ... some discussion of inverse functional properties here ...
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"<http://www.w3.org/2002/07/owl#DatatypeProperty>/>



Given this and the observation that


Object and Data properties can not be punned.
http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Typing_Constraints_of_OWL_2_DL


it would seem that the obvious conclusion is that, strictly speaking, foaf is an OWL Full ontology that may give trouble to OWL API based tools.

-Timothy


On 09/22/2010 12:33 AM, Thomas Schneider wrote:

On 22 Sep 2010, at 03:52, Alan Ruttenberg wrote:

On Tue, Sep 21, 2010 at 4:04 AM, Thomas Schneider <[hidden email]><mailto:[hidden email]> wrote:

On 21 Sep 2010, at 08:43, Evain, Jean-Pierre wrote:

Good morning.

While looking at the FOAF ontology on Protégé 4.0, different properties,
although declared as data properties, would be displayed as data and object
properties.

Would you confirm that this results from the fact that these properties
are also declared as inverseFunctional, which would seem to make them look
like object properties to Protégé?

I don't know the FOAF ontology, but I suspect that the described behaviour
is due to punning, which is allowed in OWL 2: two entities of different type
(e.g. an object property and a data property) can have the same name.

Object and Data properties can not be punned.
http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Typing_Constraints_of_OWL_2_DL

Hmmm, sorry for overlooking this ...

Then could the described behaviour be a parsing problem? It might be worth trying to open the same ontology with the recent Protégé version (4.1 beta), where conformance with the OWL specification has been improved.

But maybe someone from the Protégé team should comment on this.

Cheers

Thomas


It is
possible that, if the parser reads an InverseFunctional statement, that the
property is punned and treated as an object property for this particular
statement and as a data property otherwise.

However, I can't say for sure that this is the actual reason.

It also seems, still on Protégé 4.0 that it is not proposed to declare
data properties as being inverseFunctional. Any reason?

Neither in 4.0 nor in 4.1 can you declare data properties as inverse
functional. The reason is that the OWL specification doesn't allow this. If
it were allowed, reasoning would become an undecidable problem.

Interesting to note that reasoners accept all this.

I'm not sure what exactly you mean. If you invoked the reasoner within
Protégé, it worked on the representation of the ontology created by Protégé
(or the underlying OWL API). Since the properties in question had been
punned during parsing as described above, the reasoner got the
InverseFunctional statements for object properties. However, if you invoked
a reasoner directly, e.g., Pellet on the command line, then they might
simply have used punning too.

Cheers

Thomas


What do you think?

Regards,

Jean-pierre
-----------------------------------------
**************************************************
This email and any files transmitted with it
are confidential and intended solely for the
use of the individual or entity to whom they
are addressed.
If you have received this email in error,
please notify the system manager.
This footnote also confirms that this email
message has been swept by the mailgateway
**************************************************

_______________________________________________
p4-feedback mailing list
[hidden email]<mailto:[hidden email]>
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Fremantle (vb.)
 To steal things not worth the bother of stealing. One steals cars,
 money and silver. Book matches, airline eyepatches and individual
 pots of Trust House Forte apricot jam are merely fremantled.

                 Douglas Adams, John Lloyd: The Deeper Meaning of Liff




_______________________________________________
p4-feedback mailing list
[hidden email]<mailto:[hidden email]>
https://mailman.stanford.edu/mailman/listinfo/p4-feedback


_______________________________________________
p4-feedback mailing list
[hidden email]<mailto:[hidden email]>
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Fremantle (vb.)
  To steal things not worth the bother of stealing. One steals cars,
  money and silver. Book matches, airline eyepatches and individual
  pots of Trust House Forte apricot jam are merely fremantled.

                  Douglas Adams, John Lloyd: The Deeper Meaning of Liff





_______________________________________________
p4-feedback mailing list
[hidden email]<mailto:[hidden email]>
https://mailman.stanford.edu/mailman/listinfo/p4-feedback


_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: Property union

Thomas Schneider-5
In reply to this post by regmito
Hmmm ... this is my first attempt to understand a metamodel, so I hope  
I make no blatant mistakes:

The only place where the properties a,b,u and their meta-classes  
property_a etc. are linked is the three SWRL rules at the end. Since  
they are by nature uni-directional, how can this metamodel ensure the  
direction "IF a pair of individuals is in u, THEN it is in a or in b"?  
It seems to me that the meta-model still allows interpretations where  
an instance of u is an instance of neither a nor b.

Cheers

Thomas

On 21 Sep 2010, at 20:45, regmito wrote:

> Hi All,
> Thomas, it is interesting what you said, and it would be nice to  
> look at this in the context of my current proposal (see below). Now  
> I realise how naïve my efforts were to implement the property union  
> so straightforwardly.
>
> Alan, Thomas, thank you for the counterexamples that helped me to  
> understand we need tracking both ends of the property arc with  
> variables. So, it seems impossible to implement this without SWRL.
>
> Then I have come to the idea of meta-modelling that is presented  
> below. The meta-model is:
>
> ObjectProperty: has_subject
>    Characteristics: Functional
>
> ObjectProperty: has_value
>    Characteristics: Functional
>
> Class: property
>    EquivalentTo: (has_subject some owl:Thing) and (has_value some  
> owl:Thing)
>
> Class: property_a
> Class: property_b
>
> Class: property_u
>    EquivalentTo: property_a or property_b
>
> property
>    property_u
>        property_a
>        property_b
>
> This meta-model can be generated automatically, based on the template.
> Then we need an object property interface to interact conveniently  
> with the meta-model. This interface can be also generated  
> automatically:
>
> ObjectProperty: u
> ObjectProperty: a
> ObjectProperty: b
>
> u
>      a
>      b
>
> property_a(?p), has_subject(?p, ?s), has_value(?p, ?v) -> a(?s, ?v).
> property_b(?p), has_subject(?p, ?s), has_value(?p, ?v) -> b(?s, ?v).
> property_u(?p), has_subject(?p, ?s), has_value(?p, ?v) -> u(?s, ?v).
>
> The properties should be instantiated in the meta-model, not in the  
> interface. A joint OWL file, containing the meta-model, interface,  
> and instances, is attached.
>
> Cheers,
> Igor
> ________________________________________
> From: [hidden email] [[hidden email]
> ] on behalf of Thomas Schneider [[hidden email]]
> Sent: 21 September 2010 16:36
> To: Submit feedback for Protege 4.x
> Subject: Re: [p4-feedback] Property union
>
> Hi Cristian, Igor,
>
> On 20 Sep 2010, at 17:38, Cristian Cocos wrote:
>
>> Here's an OWL 2 question: can I say that a property is the union of
>> two (or
>> more) properties ? (I am, in effect, not sure if SROIQ can
>> accommodate this,
>> can it?)
>
>
> Another option, which slightly extends the suggestions given so far,
> would be to look at the usage of such property unions.
>
> * If they are only used in existential statements, one could replace
> such a statement with a class union:
>   "(p or q) some C"  is equivalent to  "p some C or q some C".
>
> * If they are only used in universal statements, one could replace
> such a statement with a class intersection:
>   "(p or q) only C"  is equivalent to  "p only C and q only C".
>
> These replacements become combinatorially more complex if cardinality
> restrictions are involved, though.
>
> On 21 Sep 2010, at 02:57, regmito wrote:
>
>> For more systematic approach, property union and intersection should
>> be allowed as property expressions that are similar to class
>> expressions: e.g. (a or b); (a and b). However the OWL 2
>> specification misses this.
>
> I don't think it's that easy to add property intersection and union to
> OWL 2. For these features to be harmless, one would at least need to
> restrict the interactions with cardinality restrictions, i.e., extend
> the concept of simple properties to union/intersection.
>
> However, this doesn't seem to suffice for property intersection. If I
> didn't make a mistake, then, even without number restrictions, it's
> possible to express tilings and therefore to cross the undecidability
> border. I'm currently not sure if this can also happen with property
> union ...
>
> Cheers
>
> Thomas
>
>>
>> Igor
>>
>>
>> Dr Igor Toujilov
>> Senior Research Fellow
>> Centre for Health Informatics and Multiprofessional Education
>> University College London
>> Highgate Hill
>> London, UK
>> N19 5LW
>>
>> Tel: +44 (0)20 7288 3960
>>
>>
>> ________________________________________
>> From: [hidden email] [[hidden email]
>> ] on behalf of Alan Ruttenberg [[hidden email]]
>> Sent: 20 September 2010 20:11
>> To: Submit feedback for Protege 4.x
>> Cc: [hidden email]
>> Subject: Re: [p4-feedback] Property union
>>
>> If :a and :b are the properties that you want to union, then an
>> approximation is to make the union :u the superproperty of both. This
>> will break down if you either make property assertions using :u
>> directly or have axioms that might entail such assertions.
>>
>> -Alan
>>
>> On Sep 20, 2010, at 2:31 PM, Timothy Redmond <[hidden email]>
>> wrote:
>>
>>>
>>> I believe that the answer is that you can't do this.  While there
>>> are several experts here who might be  able to either correct me or
>>> give a stronger answer, I suspect that a better list for this type
>>> of question is the owl-dev mailing list [1].
>>>
>>> -Timothy
>>>
>>> [1] http://lists.w3.org/Archives/Public/public-owl-dev/
>>>
>>>
>>> On 09/20/2010 09:38 AM, Cristian Cocos wrote:
>>>> Here's an OWL 2 question: can I say that a property is the union of
>>>> two (or
>>>> more) properties ? (I am, in effect, not sure if SROIQ can
>>>> accommodate this,
>>>> can it?)
>>>>
>>>> C
>>>>
>>>> Cristian Cocos
>>>> Post Doctoral Fellow
>>>> Centre for Logic and Information, StFX University 54B St. Mary's
>>>> Street,
>>>> Antigonish NS, Canada B2G 2W5
>>>> Tel: + 1 (902) 867-4931, Fax: +1 (902) 867-1397
>>>>
>>>> Current research: "Building Decision-Support Through Dynamic
>>>> Workflow
>>>> Systems for Health Care"
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> p4-feedback mailing list
>>>> [hidden email]
>>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>>>
>>>
>>> _______________________________________________
>>> p4-feedback mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>> _______________________________________________
>> p4-feedback mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>> _______________________________________________
>> p4-feedback mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
> +
> ----------------------------------------------------------------------+
> |  Dr Thomas Schneider                    schneider (at)  
> cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/ 
> ~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161  
> 2756136  |
> |  University of  
> Manchester                                            |
> |  Oxford Road                                             _///
> _       |
> |  Manchester M13 9PL                                      
> (o~o)       |
> +-----------------------------------------------------oOOO--(_)--
> OOOo--+
>
> Fremantle (vb.)
>   To steal things not worth the bother of stealing. One steals cars,
>   money and silver. Book matches, airline eyepatches and individual
>   pots of Trust House Forte apricot jam are merely fremantled.
>
>                   Douglas Adams, John Lloyd: The Deeper Meaning of  
> Liff
> <property_union.owl>_______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Fremantle (vb.)
   To steal things not worth the bother of stealing. One steals cars,
   money and silver. Book matches, airline eyepatches and individual
   pots of Trust House Forte apricot jam are merely fremantled.

                   Douglas Adams, John Lloyd: The Deeper Meaning of Liff




_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

PGP.sig (210 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Property union

regmito
By the design, any property instantiation should be done in the meta-model only, i.e. by instantiating the classes of hierarchy "property". Properties a, b, and u do not belong to the meta-model; they play the role of observers in the interface, adapting the meta-model to the usual model, and facilitating convenient usage. If a user makes assertions on the interface properties, then the correctness of the model is not guaranteed. (Yes, this interface is unidirectional.)

When the properties are instantiated in the meta-model class property_u, the property union is preserved, as property_u = (property_a or property_b) by definition.

Technically the meta-model and the interface should be defined in two separate ontology modules (files) with the third module of instances between them and the interface importing the instances and (indirectly) the meta-model. When the user wants to instantiate the properties, he/she should switch the scope to the module of instances, leaving the interface module behind. This can be implemented in machinery, so the user can still specify the assertions in terms of the interface properties.

Igor
________________________________________
From: [hidden email] [[hidden email]] on behalf of Thomas Schneider [[hidden email]]
Sent: 22 September 2010 09:22
To: Submit feedback for Protege 4.x
Subject: Re: [p4-feedback] Property union

Hmmm ... this is my first attempt to understand a metamodel, so I hope
I make no blatant mistakes:

The only place where the properties a,b,u and their meta-classes
property_a etc. are linked is the three SWRL rules at the end. Since
they are by nature uni-directional, how can this metamodel ensure the
direction "IF a pair of individuals is in u, THEN it is in a or in b"?
It seems to me that the meta-model still allows interpretations where
an instance of u is an instance of neither a nor b.

Cheers

Thomas

On 21 Sep 2010, at 20:45, regmito wrote:

> Hi All,
> Thomas, it is interesting what you said, and it would be nice to
> look at this in the context of my current proposal (see below). Now
> I realise how naïve my efforts were to implement the property union
> so straightforwardly.
>
> Alan, Thomas, thank you for the counterexamples that helped me to
> understand we need tracking both ends of the property arc with
> variables. So, it seems impossible to implement this without SWRL.
>
> Then I have come to the idea of meta-modelling that is presented
> below. The meta-model is:
>
> ObjectProperty: has_subject
>    Characteristics: Functional
>
> ObjectProperty: has_value
>    Characteristics: Functional
>
> Class: property
>    EquivalentTo: (has_subject some owl:Thing) and (has_value some
> owl:Thing)
>
> Class: property_a
> Class: property_b
>
> Class: property_u
>    EquivalentTo: property_a or property_b
>
> property
>    property_u
>        property_a
>        property_b
>
> This meta-model can be generated automatically, based on the template.
> Then we need an object property interface to interact conveniently
> with the meta-model. This interface can be also generated
> automatically:
>
> ObjectProperty: u
> ObjectProperty: a
> ObjectProperty: b
>
> u
>      a
>      b
>
> property_a(?p), has_subject(?p, ?s), has_value(?p, ?v) -> a(?s, ?v).
> property_b(?p), has_subject(?p, ?s), has_value(?p, ?v) -> b(?s, ?v).
> property_u(?p), has_subject(?p, ?s), has_value(?p, ?v) -> u(?s, ?v).
>
> The properties should be instantiated in the meta-model, not in the
> interface. A joint OWL file, containing the meta-model, interface,
> and instances, is attached.
>
> Cheers,
> Igor
> ________________________________________
> From: [hidden email] [[hidden email]
> ] on behalf of Thomas Schneider [[hidden email]]
> Sent: 21 September 2010 16:36
> To: Submit feedback for Protege 4.x
> Subject: Re: [p4-feedback] Property union
>
> Hi Cristian, Igor,
>
> On 20 Sep 2010, at 17:38, Cristian Cocos wrote:
>
>> Here's an OWL 2 question: can I say that a property is the union of
>> two (or
>> more) properties ? (I am, in effect, not sure if SROIQ can
>> accommodate this,
>> can it?)
>
>
> Another option, which slightly extends the suggestions given so far,
> would be to look at the usage of such property unions.
>
> * If they are only used in existential statements, one could replace
> such a statement with a class union:
>   "(p or q) some C"  is equivalent to  "p some C or q some C".
>
> * If they are only used in universal statements, one could replace
> such a statement with a class intersection:
>   "(p or q) only C"  is equivalent to  "p only C and q only C".
>
> These replacements become combinatorially more complex if cardinality
> restrictions are involved, though.
>
> On 21 Sep 2010, at 02:57, regmito wrote:
>
>> For more systematic approach, property union and intersection should
>> be allowed as property expressions that are similar to class
>> expressions: e.g. (a or b); (a and b). However the OWL 2
>> specification misses this.
>
> I don't think it's that easy to add property intersection and union to
> OWL 2. For these features to be harmless, one would at least need to
> restrict the interactions with cardinality restrictions, i.e., extend
> the concept of simple properties to union/intersection.
>
> However, this doesn't seem to suffice for property intersection. If I
> didn't make a mistake, then, even without number restrictions, it's
> possible to express tilings and therefore to cross the undecidability
> border. I'm currently not sure if this can also happen with property
> union ...
>
> Cheers
>
> Thomas
>
>>
>> Igor
>>
>>
>> Dr Igor Toujilov
>> Senior Research Fellow
>> Centre for Health Informatics and Multiprofessional Education
>> University College London
>> Highgate Hill
>> London, UK
>> N19 5LW
>>
>> Tel: +44 (0)20 7288 3960
>>
>>
>> ________________________________________
>> From: [hidden email] [[hidden email]
>> ] on behalf of Alan Ruttenberg [[hidden email]]
>> Sent: 20 September 2010 20:11
>> To: Submit feedback for Protege 4.x
>> Cc: [hidden email]
>> Subject: Re: [p4-feedback] Property union
>>
>> If :a and :b are the properties that you want to union, then an
>> approximation is to make the union :u the superproperty of both. This
>> will break down if you either make property assertions using :u
>> directly or have axioms that might entail such assertions.
>>
>> -Alan
>>
>> On Sep 20, 2010, at 2:31 PM, Timothy Redmond <[hidden email]>
>> wrote:
>>
>>>
>>> I believe that the answer is that you can't do this.  While there
>>> are several experts here who might be  able to either correct me or
>>> give a stronger answer, I suspect that a better list for this type
>>> of question is the owl-dev mailing list [1].
>>>
>>> -Timothy
>>>
>>> [1] http://lists.w3.org/Archives/Public/public-owl-dev/
>>>
>>>
>>> On 09/20/2010 09:38 AM, Cristian Cocos wrote:
>>>> Here's an OWL 2 question: can I say that a property is the union of
>>>> two (or
>>>> more) properties ? (I am, in effect, not sure if SROIQ can
>>>> accommodate this,
>>>> can it?)
>>>>
>>>> C
>>>>
>>>> Cristian Cocos
>>>> Post Doctoral Fellow
>>>> Centre for Logic and Information, StFX University 54B St. Mary's
>>>> Street,
>>>> Antigonish NS, Canada B2G 2W5
>>>> Tel: + 1 (902) 867-4931, Fax: +1 (902) 867-1397
>>>>
>>>> Current research: "Building Decision-Support Through Dynamic
>>>> Workflow
>>>> Systems for Health Care"
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> p4-feedback mailing list
>>>> [hidden email]
>>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>>>
>>>
>>> _______________________________________________
>>> p4-feedback mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>> _______________________________________________
>> p4-feedback mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>> _______________________________________________
>> p4-feedback mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
> +
> ----------------------------------------------------------------------+
> |  Dr Thomas Schneider                    schneider (at)
> cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/
> ~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161
> 2756136  |
> |  University of
> Manchester                                            |
> |  Oxford Road                                             _///
> _       |
> |  Manchester M13 9PL
> (o~o)       |
> +-----------------------------------------------------oOOO--(_)--
> OOOo--+
>
> Fremantle (vb.)
>   To steal things not worth the bother of stealing. One steals cars,
>   money and silver. Book matches, airline eyepatches and individual
>   pots of Trust House Forte apricot jam are merely fremantled.
>
>                   Douglas Adams, John Lloyd: The Deeper Meaning of
> Liff
> <property_union.owl>_______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback

+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Fremantle (vb.)
   To steal things not worth the bother of stealing. One steals cars,
   money and silver. Book matches, airline eyepatches and individual
   pots of Trust House Forte apricot jam are merely fremantled.

                   Douglas Adams, John Lloyd: The Deeper Meaning of Liff
_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: Property union

Thomas Schneider-5
Thanks for the explanation.

Thomas

On 22 Sep 2010, at 14:19, regmito wrote:

> By the design, any property instantiation should be done in the meta-
> model only, i.e. by instantiating the classes of hierarchy  
> "property". Properties a, b, and u do not belong to the meta-model;  
> they play the role of observers in the interface, adapting the meta-
> model to the usual model, and facilitating convenient usage. If a  
> user makes assertions on the interface properties, then the  
> correctness of the model is not guaranteed. (Yes, this interface is  
> unidirectional.)
>
> When the properties are instantiated in the meta-model class  
> property_u, the property union is preserved, as property_u =  
> (property_a or property_b) by definition.
>
> Technically the meta-model and the interface should be defined in  
> two separate ontology modules (files) with the third module of  
> instances between them and the interface importing the instances and  
> (indirectly) the meta-model. When the user wants to instantiate the  
> properties, he/she should switch the scope to the module of  
> instances, leaving the interface module behind. This can be  
> implemented in machinery, so the user can still specify the  
> assertions in terms of the interface properties.
>
> Igor
> ________________________________________
> From: [hidden email] [[hidden email]
> ] on behalf of Thomas Schneider [[hidden email]]
> Sent: 22 September 2010 09:22
> To: Submit feedback for Protege 4.x
> Subject: Re: [p4-feedback] Property union
>
> Hmmm ... this is my first attempt to understand a metamodel, so I hope
> I make no blatant mistakes:
>
> The only place where the properties a,b,u and their meta-classes
> property_a etc. are linked is the three SWRL rules at the end. Since
> they are by nature uni-directional, how can this metamodel ensure the
> direction "IF a pair of individuals is in u, THEN it is in a or in b"?
> It seems to me that the meta-model still allows interpretations where
> an instance of u is an instance of neither a nor b.
>
> Cheers
>
> Thomas
>
> On 21 Sep 2010, at 20:45, regmito wrote:
>
>> Hi All,
>> Thomas, it is interesting what you said, and it would be nice to
>> look at this in the context of my current proposal (see below). Now
>> I realise how naïve my efforts were to implement the property union
>> so straightforwardly.
>>
>> Alan, Thomas, thank you for the counterexamples that helped me to
>> understand we need tracking both ends of the property arc with
>> variables. So, it seems impossible to implement this without SWRL.
>>
>> Then I have come to the idea of meta-modelling that is presented
>> below. The meta-model is:
>>
>> ObjectProperty: has_subject
>>   Characteristics: Functional
>>
>> ObjectProperty: has_value
>>   Characteristics: Functional
>>
>> Class: property
>>   EquivalentTo: (has_subject some owl:Thing) and (has_value some
>> owl:Thing)
>>
>> Class: property_a
>> Class: property_b
>>
>> Class: property_u
>>   EquivalentTo: property_a or property_b
>>
>> property
>>   property_u
>>       property_a
>>       property_b
>>
>> This meta-model can be generated automatically, based on the  
>> template.
>> Then we need an object property interface to interact conveniently
>> with the meta-model. This interface can be also generated
>> automatically:
>>
>> ObjectProperty: u
>> ObjectProperty: a
>> ObjectProperty: b
>>
>> u
>>     a
>>     b
>>
>> property_a(?p), has_subject(?p, ?s), has_value(?p, ?v) -> a(?s, ?v).
>> property_b(?p), has_subject(?p, ?s), has_value(?p, ?v) -> b(?s, ?v).
>> property_u(?p), has_subject(?p, ?s), has_value(?p, ?v) -> u(?s, ?v).
>>
>> The properties should be instantiated in the meta-model, not in the
>> interface. A joint OWL file, containing the meta-model, interface,
>> and instances, is attached.
>>
>> Cheers,
>> Igor
>> ________________________________________
>> From: [hidden email] [[hidden email]
>> ] on behalf of Thomas Schneider [[hidden email]]
>> Sent: 21 September 2010 16:36
>> To: Submit feedback for Protege 4.x
>> Subject: Re: [p4-feedback] Property union
>>
>> Hi Cristian, Igor,
>>
>> On 20 Sep 2010, at 17:38, Cristian Cocos wrote:
>>
>>> Here's an OWL 2 question: can I say that a property is the union of
>>> two (or
>>> more) properties ? (I am, in effect, not sure if SROIQ can
>>> accommodate this,
>>> can it?)
>>
>>
>> Another option, which slightly extends the suggestions given so far,
>> would be to look at the usage of such property unions.
>>
>> * If they are only used in existential statements, one could replace
>> such a statement with a class union:
>>  "(p or q) some C"  is equivalent to  "p some C or q some C".
>>
>> * If they are only used in universal statements, one could replace
>> such a statement with a class intersection:
>>  "(p or q) only C"  is equivalent to  "p only C and q only C".
>>
>> These replacements become combinatorially more complex if cardinality
>> restrictions are involved, though.
>>
>> On 21 Sep 2010, at 02:57, regmito wrote:
>>
>>> For more systematic approach, property union and intersection should
>>> be allowed as property expressions that are similar to class
>>> expressions: e.g. (a or b); (a and b). However the OWL 2
>>> specification misses this.
>>
>> I don't think it's that easy to add property intersection and union  
>> to
>> OWL 2. For these features to be harmless, one would at least need to
>> restrict the interactions with cardinality restrictions, i.e., extend
>> the concept of simple properties to union/intersection.
>>
>> However, this doesn't seem to suffice for property intersection. If I
>> didn't make a mistake, then, even without number restrictions, it's
>> possible to express tilings and therefore to cross the undecidability
>> border. I'm currently not sure if this can also happen with property
>> union ...
>>
>> Cheers
>>
>> Thomas
>>
>>>
>>> Igor
>>>
>>>
>>> Dr Igor Toujilov
>>> Senior Research Fellow
>>> Centre for Health Informatics and Multiprofessional Education
>>> University College London
>>> Highgate Hill
>>> London, UK
>>> N19 5LW
>>>
>>> Tel: +44 (0)20 7288 3960
>>>
>>>
>>> ________________________________________
>>> From: [hidden email] [[hidden email]
>>> ] on behalf of Alan Ruttenberg [[hidden email]]
>>> Sent: 20 September 2010 20:11
>>> To: Submit feedback for Protege 4.x
>>> Cc: [hidden email]
>>> Subject: Re: [p4-feedback] Property union
>>>
>>> If :a and :b are the properties that you want to union, then an
>>> approximation is to make the union :u the superproperty of both.  
>>> This
>>> will break down if you either make property assertions using :u
>>> directly or have axioms that might entail such assertions.
>>>
>>> -Alan
>>>
>>> On Sep 20, 2010, at 2:31 PM, Timothy Redmond <[hidden email]>
>>> wrote:
>>>
>>>>
>>>> I believe that the answer is that you can't do this.  While there
>>>> are several experts here who might be  able to either correct me or
>>>> give a stronger answer, I suspect that a better list for this type
>>>> of question is the owl-dev mailing list [1].
>>>>
>>>> -Timothy
>>>>
>>>> [1] http://lists.w3.org/Archives/Public/public-owl-dev/
>>>>
>>>>
>>>> On 09/20/2010 09:38 AM, Cristian Cocos wrote:
>>>>> Here's an OWL 2 question: can I say that a property is the union  
>>>>> of
>>>>> two (or
>>>>> more) properties ? (I am, in effect, not sure if SROIQ can
>>>>> accommodate this,
>>>>> can it?)
>>>>>
>>>>> C
>>>>>
>>>>> Cristian Cocos
>>>>> Post Doctoral Fellow
>>>>> Centre for Logic and Information, StFX University 54B St. Mary's
>>>>> Street,
>>>>> Antigonish NS, Canada B2G 2W5
>>>>> Tel: + 1 (902) 867-4931, Fax: +1 (902) 867-1397
>>>>>
>>>>> Current research: "Building Decision-Support Through Dynamic
>>>>> Workflow
>>>>> Systems for Health Care"
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> p4-feedback mailing list
>>>>> [hidden email]
>>>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>>>>
>>>>
>>>> _______________________________________________
>>>> p4-feedback mailing list
>>>> [hidden email]
>>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>> _______________________________________________
>>> p4-feedback mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>> _______________________________________________
>>> p4-feedback mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>
>> +
>> ----------------------------------------------------------------------+
>> |  Dr Thomas Schneider                    schneider (at)
>> cs.man.ac.uk  |
>> |  School of Computer Science       http://www.cs.man.ac.uk/
>> ~schneidt  |
>> |  Kilburn Building, Room 2.114                 phone +44 161
>> 2756136  |
>> |  University of
>> Manchester                                            |
>> |  Oxford Road                                             _///
>> _       |
>> |  Manchester M13 9PL
>> (o~o)       |
>> +-----------------------------------------------------oOOO--(_)--
>> OOOo--+
>>
>> Fremantle (vb.)
>>  To steal things not worth the bother of stealing. One steals cars,
>>  money and silver. Book matches, airline eyepatches and individual
>>  pots of Trust House Forte apricot jam are merely fremantled.
>>
>>                  Douglas Adams, John Lloyd: The Deeper Meaning of
>> Liff
>> <property_union.owl>_______________________________________________
>> p4-feedback mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
> +
> ----------------------------------------------------------------------+
> |  Dr Thomas Schneider                    schneider (at)  
> cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/ 
> ~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161  
> 2756136  |
> |  University of  
> Manchester                                            |
> |  Oxford Road                                             _///
> _       |
> |  Manchester M13 9PL                                      
> (o~o)       |
> +-----------------------------------------------------oOOO--(_)--
> OOOo--+
>
> Fremantle (vb.)
>   To steal things not worth the bother of stealing. One steals cars,
>   money and silver. Book matches, airline eyepatches and individual
>   pots of Trust House Forte apricot jam are merely fremantled.
>
>                   Douglas Adams, John Lloyd: The Deeper Meaning of  
> Liff
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
+----------------------------------------------------------------------+
|  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
|  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
|  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
|  University of Manchester                                            |
|  Oxford Road                                             _///_       |
|  Manchester M13 9PL                                      (o~o)       |
+-----------------------------------------------------oOOO--(_)--OOOo--+

Scramoge (vb.)
   To cut oneself whilst licking envelopes.

                   Douglas Adams, John Lloyd: The Deeper Meaning of Liff





_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

PGP.sig (210 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: RE : Use of inverseFunctional for data properties

Timothy Redmond
In reply to this post by Evain, Jean-Pierre
On 09/22/2010 01:21 AM, Evain, Jean-Pierre wrote:
> Hi Timothy,
>
> I appreciate the nature of the technical problem on punning and OWL versions.
>
> On the other hand, I have a non-technical issue, which is that W3C considers FOAF as the coolest possible way of describing persons and organisations (when I personally question the rdf and value of the geek profile that it really is .-).
>    

It is unfortunate that the foaf has this problem.  We will have to see
how it goes.  The OWL api does the best that it can to parse any
ontology.  The good thing is that this is an issue that permits a
mapping to the functional owl syntax, even if it is prohibited.  Also
maybe there will be a foaf-dl at some point if this becomes a serious
problem.

> When you mention a problem with OWL API tools, you mean that most of them don't implement OWL FULL (yet, if ever?)
>    

I suspect that the only reasonable way to get complete support for OWL
Full is to base your tool on RDF.  Not all constructs in OWL Full can be
mapped to the structural specification of the language given in [1].

But this is not the only issue.  In this case another problem is the
ambiguity of the mapping from RDF to OWL.  In particular, in my quick
experiment yesterday to see how the OWL API dealt with an
object/datatype property pun, after parsing the ontology the
topDatatypeProperty was also punned as an object property.  I think that
this happened somehow because in RDF the rdfs:subPropertyOf statement
can be ambiguous without knowing the type of the resources.

I think that the OWL api and Protege 4 OWL will provide only limited
support for OWL full.  Jena will probably provide this support as will
other triple stores.  Also there is the seed of a plan to make a true
Protege 4 RDF editor.  (Neither of the Protege 3 RDF editors are quite
true to RDF specifications).

-Timothy

[1] http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/


> Regards,
>
> jean-pierre
>
> ________________________________
> De : [hidden email] [[hidden email]] de la part de Timothy Redmond [[hidden email]]
> Date d'envoi : mercredi, 22. septembre 2010 10:03
> À : [hidden email]
> Objet : Re: [p4-feedback] Use of inverseFunctional for data properties
>
>
> Then could the described behaviour be a parsing problem?
>
> It is not clear that there is a good choice here.
>
> The foaf ontology seems to have a clear pun of an object property with a data property:
>
>
>    <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox_sha1sum"<http://xmlns.com/foaf/0.1/mbox_sha1sum>  vs:term_status="testing" rdfs:label="sha1sum of a personal mailbox URI name" rdfs:comment="The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.">
>      <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"<http://www.w3.org/2002/07/owl#InverseFunctionalProperty>/>
>          ... some discussion of inverse functional properties here ...
>      <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"<http://www.w3.org/2002/07/owl#DatatypeProperty>/>
>
>
>
> Given this and the observation that
>
>
> Object and Data properties can not be punned.
> http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Typing_Constraints_of_OWL_2_DL
>
>
> it would seem that the obvious conclusion is that, strictly speaking, foaf is an OWL Full ontology that may give trouble to OWL API based tools.
>
> -Timothy
>
>
> On 09/22/2010 12:33 AM, Thomas Schneider wrote:
>
> On 22 Sep 2010, at 03:52, Alan Ruttenberg wrote:
>
> On Tue, Sep 21, 2010 at 4:04 AM, Thomas Schneider<[hidden email]><mailto:[hidden email]>  wrote:
>
> On 21 Sep 2010, at 08:43, Evain, Jean-Pierre wrote:
>
> Good morning.
>
> While looking at the FOAF ontology on Protégé 4.0, different properties,
> although declared as data properties, would be displayed as data and object
> properties.
>
> Would you confirm that this results from the fact that these properties
> are also declared as inverseFunctional, which would seem to make them look
> like object properties to Protégé?
>
> I don't know the FOAF ontology, but I suspect that the described behaviour
> is due to punning, which is allowed in OWL 2: two entities of different type
> (e.g. an object property and a data property) can have the same name.
>
> Object and Data properties can not be punned.
> http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Typing_Constraints_of_OWL_2_DL
>
> Hmmm, sorry for overlooking this ...
>
> Then could the described behaviour be a parsing problem? It might be worth trying to open the same ontology with the recent Protégé version (4.1 beta), where conformance with the OWL specification has been improved.
>
> But maybe someone from the Protégé team should comment on this.
>
> Cheers
>
> Thomas
>
>
> It is
> possible that, if the parser reads an InverseFunctional statement, that the
> property is punned and treated as an object property for this particular
> statement and as a data property otherwise.
>
> However, I can't say for sure that this is the actual reason.
>
> It also seems, still on Protégé 4.0 that it is not proposed to declare
> data properties as being inverseFunctional. Any reason?
>
> Neither in 4.0 nor in 4.1 can you declare data properties as inverse
> functional. The reason is that the OWL specification doesn't allow this. If
> it were allowed, reasoning would become an undecidable problem.
>
> Interesting to note that reasoners accept all this.
>
> I'm not sure what exactly you mean. If you invoked the reasoner within
> Protégé, it worked on the representation of the ontology created by Protégé
> (or the underlying OWL API). Since the properties in question had been
> punned during parsing as described above, the reasoner got the
> InverseFunctional statements for object properties. However, if you invoked
> a reasoner directly, e.g., Pellet on the command line, then they might
> simply have used punning too.
>
> Cheers
>
> Thomas
>
>
> What do you think?
>
> Regards,
>
> Jean-pierre
> -----------------------------------------
> **************************************************
> This email and any files transmitted with it
> are confidential and intended solely for the
> use of the individual or entity to whom they
> are addressed.
> If you have received this email in error,
> please notify the system manager.
> This footnote also confirms that this email
> message has been swept by the mailgateway
> **************************************************
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]<mailto:[hidden email]>
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
> +----------------------------------------------------------------------+
> |  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
> |  University of Manchester                                            |
> |  Oxford Road                                             _///_       |
> |  Manchester M13 9PL                                      (o~o)       |
> +-----------------------------------------------------oOOO--(_)--OOOo--+
>
> Fremantle (vb.)
>   To steal things not worth the bother of stealing. One steals cars,
>   money and silver. Book matches, airline eyepatches and individual
>   pots of Trust House Forte apricot jam are merely fremantled.
>
>                   Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>
>
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]<mailto:[hidden email]>
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]<mailto:[hidden email]>
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
> +----------------------------------------------------------------------+
> |  Dr Thomas Schneider                    schneider (at) cs.man.ac.uk  |
> |  School of Computer Science       http://www.cs.man.ac.uk/~schneidt  |
> |  Kilburn Building, Room 2.114                 phone +44 161 2756136  |
> |  University of Manchester                                            |
> |  Oxford Road                                             _///_       |
> |  Manchester M13 9PL                                      (o~o)       |
> +-----------------------------------------------------oOOO--(_)--OOOo--+
>
> Fremantle (vb.)
>    To steal things not worth the bother of stealing. One steals cars,
>    money and silver. Book matches, airline eyepatches and individual
>    pots of Trust House Forte apricot jam are merely fremantled.
>
>                    Douglas Adams, John Lloyd: The Deeper Meaning of Liff
>
>
>
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]<mailto:[hidden email]>
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>    

_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
12