[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [uddi-spec] requirement to make name significant in key/name/value for some types of searches
Massimo, I agree. We can do it this way, but I think it involves more processing on the server and client than making name significant. Either way is fine with me. Cheers, Max ----- Original Message ----- From: "Massimo Paolucci" <paolucci@cs.cmu.edu> To: "uddi-spec" <uddi-spec@lists.oasis-open.org> Sent: Thursday, April 15, 2004 11:00 AM Subject: Re: [uddi-spec] requirement to make name significant in key/name/value for some types of searches > I agree with Max that would be good to find a way to use properties in > UDDI, but I also share the concern about name in a way that is > inconsistent with the rest of UDDI. It just does not feel like a good > solution. The use of keyedReferenceGroup is a bit longer to express, but > it is fully consistent with the UDDI specs. What follows is my proposal > to express the Max's examples. > > Any property in OWL has three componens: subject, object and predicate. > > For instance in Max's example the subject is the domain of the property > (the thing the property applies to) the predicate is the property itself > and the subject is the value of the keyedReference. > > I propose to define three additional tModels for subject, object and > predicate. Than we can define the KeyedReferenceGroup as follows > > <keyedReferenceGroup tModelKey=tModel:Key > > <keyedReference tModelKey=uddi:owl:subejct > keyName=dealerX > keyValue=someURL#DealerX /> > > <keyedReference > tModelKey=uddi:owl:predicate" > keyName=Price > keyValue=someURL#Price /> > > <keyedReference > tModelKey=uddi:owl:object" > keyName=the value > keyValue=100 /> > </keyedReferenceGroup> > > > The verfication of the model should make sure that the instance or > concept someURL#DealerX is in the ontology tModel:Key and that the > predicate someURL#Price in the same ontology relates dealers to numbers. > > Equivalently, we can specify relations with other OWL concepts and > instances. For instance, we may want to express that the dealer has some > accreditation, for instance that it won the price for best dealer in > town. Here priceURL:bestDealerInTown is defined is some ontology as an > instance of price or as a type of price. Bottom like it is an OWL thing, > not an XML schema value like 100 would be. > > <keyedReferenceGroup tModelKey=tModel:Key > > <keyedReference tModelKey=uddi:owl:subejct > keyName=dealerX > keyValue=someURL#DealerX /> > > <keyedReference > tModelKey=uddi:owl:predicate" > keyName=Price > keyValue=someURL#Winner /> > > <keyedReference > tModelKey=uddi:owl:object" > keyName=the price" > keyValue=priceURL:bestDealerInTown /> > </keyedReferenceGroup> > > Anyway, we can encode the same information that can be encoded in Max's > examples, but in a way that is more consistent with UDDI since it does > not create any new case and intuitive with OWL (OWL people would > understand this immediately). The only drawback is that it is a bit > longer, but working with XML stuff to be succint is a lost battle. > > --- Massimo > > > > > > Max Voskob wrote: > > >Claus, > > > >keyedReferenceGroup approach is not as elegant as making the name > >significant. This is also the way Massimo proposed to deal with properties, > >but he admitted it is quite awkward. > > > >I'm not sure if the requirement to make name significant from RQ 20 is in > >coz during the dicussion on taxonomies/ontologies we agreed it is not. > > > >Is there any additonal cost involved with using name wherever it is > >specified in the search and ignoring if it's not? > >If we do it for keywords, then I can't see why we can't do it for OWL. > > > >I'd suggest a compromise - we do it for keywords and OWL only :-) > > > >I think we are losing a lot of expressivity if we limit what we can state > >about individuals to assigning them to classes only. > > > >Cheers, > >Max > > > > > >----- Original Message ----- > >From: "Von Riegen, Claus" <claus.von.riegen@sap.com> > >To: "uddi-spec" <uddi-spec@lists.oasis-open.org> > >Sent: Thursday, April 15, 2004 7:08 AM > >Subject: RE: [uddi-spec] requirement to make name significant in > >key/name/value for some types of searches > > > > > > > > > >>Hi Max, > >> > >>I believe that the use case you mention can be supported by using a > >> > >> > >keyedReferenceGroup that groups the category ("Product"), the price type > >(e.g. "dealer") and the price (e.g. "100") together. > > > > > >>Also, this would be much more flexible, since keyedReferenceGroups allow > >> > >> > >any number of keyedReferences to be grouped. > > > > > >>Thoughts? > >> > >>Claus > >> > >>-----Original Message----- > >>From: Max Voskob [mailto:max.voskob@paradise.net.nz] > >>Sent: Mittwoch, 14. April 2004 13:29 > >>To: uddi-spec > >>Subject: [uddi-spec] requirement to make name significant in > >> > >> > >key/name/value for some types of searches > > > > > >>Hi all, > >> > >>First of all, thanx for coming to NZ to those who came and for those who > >>didn't - we were missing you. :-) > >>I hope you enjoyed your stay here. > >> > >>I would like to return to the proposal I made at the very end of the last > >>FTF: make name significant for some searchers on keyedReference. This is > >>required for some semantic and non-semantic searches when an OWL > >> > >> > >onlotology > > > > > >>is used. > >> > >>Ontology example: > >> > >> <owl:Class rdf:ID="Product"/> > >> > >> <owl:Class rdf:ID="Price"> > >> <rdfs:subClassOf rdf:resource="#Product"/> > >> </owl:Class> > >> > >> <owl:Class rdf:ID="DeliveryTerm"> > >> <rdfs:subClassOf rdf:resource="#Product"/> > >> <owl:oneOf rdf:parseType="Collection"> > >> <owl:Thing rdf:about="#Overnight"/> > >> <owl:Thing rdf:about="#AirMail"/> > >> <owl:Thing rdf:about="#UPSInternational"/> > >> </owl:oneOf> > >> </owl:Class> > >> > >> <owl:DatatypeProperty rdf:about="#dealer"> > >> <rdfs:domain rdf:resource="#Price"/> > >> <rdf:range rdf:resource="&xsd;decimal"/> > >> </owl:DatatypeProperty> > >> > >> <owl:DatatypeProperty rdf:about="#distributor"> > >> <rdfs:domain rdf:resource="#Price"/> > >> <rdf:range rdf:resource="&xsd;decimal"/> > >> </owl:DatatypeProperty> > >> > >> <owl:DatatypeProperty rdf:about="#retial"> > >> <rdfs:domain rdf:resource="#Price"/> > >> <rdf:range rdf:resource="&xsd;decimal"/> > >> </owl:DatatypeProperty> > >> > >>Ontology graph: > >> > >>Product > >> - Price > >> - dealer > >> - distributor > >> - retail > >> - DeliveryTerm > >> > >>where dealer, distributor and retail are properties of Price with XML > >> > >> > >Schema > > > > > >>decimal datatype and DeliveryTerm can take values from the enumeration > >>[Overnight, AirMail, UPSInternational] only. > >> > >> > >>Ontology use example as RDF/XML: > >> > >> <Product> > >> <Price> > >> <dealer rdf:datatype="&xsd;decimal">100</dealer> > >> <distributor rdf:datatype="&xsd;decimal">50</distributor> > >> <retail rdf:datatype="&xsd;decimal">150</retail> > >> </Price> > >> </Product> > >> > >> > >> > >>Ontology use example as keyedReference in a category bag: > >> > >> > >>Ontology:tModel:Key #Product //the name is omited - the entity is > >>categorised as #Product > >>Ontology:tModel:Key #dealer 100 //dealer price is 100 > >>Ontology:tModel:Key #distributor 50 //distributor price is 50 > >>Ontology:tModel:Key #retail 150 //retail price is 150 > >> > >> > >>_Find use case: > >> > >>I need to find all products with dealer price 100. > >>I use an ontology registered as a tModel with key Ontology:tModel:Key. > >>Parsing the ontology I understand that what I'm looking for must be > >>categorised as #Product with a property #dealer = 100. This makes the name > >>significant for searches. At the same time, there is no need for UDDI to > >>understand the semantics of the search as the reasoning can be done > >> > >> > >outside > > > > > >>of UDDI. > >> > >> > >>I discussed this scenario and solution with Massimo and he agreed that it > >> > >> > >is > > > > > >>a common scenario, but suggested a workaround that he will post to the > >> > >> > >list > > > > > >>shortly. > >>I think it is very important for us to include this in the spec if we use > >>OWL for ontologies. > >> > >>If names a not significant, then all you can say about an individual is > >> > >> > >that > > > > > >>it belongs to some class. > >>E.g. one can easily state that an entity is a #Product, but there is no no > >>simple way to state what the #DeliveryTerm is. > >> > >>Another fundamental reason to make name significant is the very nature of > >>RDF - it is a triple. > >>Subject - the entity > >>Predicate - name > >>Object - value > >>and the key refers to a tModel which refers to the ontology > >>There can be other RDF bits beyond the triple, e.g. rdf:datatype > >> > >> > >attribute, > > > > > >>but we can do without it in the meantime. > >> > >>Well, I can be wrong with all this, so please, feel free to put me right. > >> > >>Regards, > >>Max > >> > >> > >>To unsubscribe from this mailing list (and be removed from the roster of > >> > >> > >the OASIS TC), go to > >http://www.oasis-open.org/apps/org/workgroup/uddi-spec/members/leave_workgr oup.php. > > > > > >>To unsubscribe from this mailing list (and be removed from the roster of > >> > >> > >the OASIS TC), go to > >http://www.oasis-open.org/apps/org/workgroup/uddi-spec/members/leave_workgr oup.php. > > > > > >> > >> > > > > > >To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/uddi-spec/members/leave_workgroup.php. > > > > > > > > > > > To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/uddi-spec/members/leave_workgroup.php. > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]