will do, thanks
On Wed, Mar 19, 2014 at 12:30 PM, Dave Reynolds <dave.e.reyno...@gmail.com>wrote: > On 19/03/14 18:04, Adeeb Noor wrote: > >> Thanks Dave >> >> I am using protoge 4.2.0. I created the class sameKEGG and the >> object property ddids:x-kegg.pathway; but I am not able to find the >> hasValue restriction. any idea ? >> > > Sorry no. Last time I used protege was a long time ago and then it was > pretty obvious ("create restriction", select "hasValue" and fill in the > form). If it's no longer obvious then you'll need to ask on a protege list. > > Dave > > > >> On Wed, Mar 19, 2014 at 11:33 AM, Dave Reynolds >> <dave.e.reyno...@gmail.com>wrote: >> >> On 19/03/14 17:26, Adeeb Noor wrote: >>> >>> Hi Dave: >>>> >>>> Thanks for your answer. >>>> >>>> owl:onProperty ddids:x-kegg.pathway; >>>> owl:hasValue <http://identifiers.org/kegg.pathway/hsa04110> >>>> ] . >>>> >>>> What data type should I give to hasValue object property to accept the >>>> URI. >>>> >>>> >>> No data type, <http://identifiers.org/kegg.pathway/hsa04110> is a >>> resource not a literal. >>> >>> Dave >>> >>> >>> thanks >>> >>>> >>>> >>>> On Mon, Mar 17, 2014 at 4:28 AM, Dave Reynolds < >>>> dave.e.reyno...@gmail.com >>>> >>>>> wrote: >>>>> >>>> >>>> On 14/03/14 08:08, Adeeb Noor wrote: >>>> >>>>> >>>>> Hello everyone: >>>>> >>>>>> >>>>>> I have been struggling a lot with a problem that I did not find a >>>>>> solution >>>>>> for, so hopefully guys can guide me or help me with it. >>>>>> >>>>>> I have my data (rdfs) store in jena tdb as model and my owl (schema) >>>>>> using >>>>>> protoge. >>>>>> >>>>>> Here is the code to merge data and schema: >>>>>> >>>>>> System.out.println("creting infeer dataset "); >>>>>> Dataset dataset = TDBFactory.createDataset(data. >>>>>> infereedTDB); >>>>>> >>>>>> System.out.println("creting OntModel "); >>>>>> OntModel Infmodel = >>>>>> ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC, >>>>>> dataset.getNamedModel(this.URL)); >>>>>> >>>>>> System.out.println("adding schema (OWL) to OntModel"); >>>>>> Infmodel.add(this.owl); >>>>>> >>>>>> System.out.println("adding data (RDF) to OntModel "); >>>>>> Infmodel.add(data.tdb); >>>>>> >>>>>> System.out.println("creting ModelExtractor "); >>>>>> ModelExtractor ext = new ModelExtractor(Infmodel); >>>>>> >>>>>> dataset.replaceNamedModel(this.URL, ext.extractModel()); >>>>>> >>>>>> System.out.println("saving infead model"); >>>>>> Infmodel.close(); >>>>>> System.out.println("closing infeed dataset"); >>>>>> dataset.close(); >>>>>> >>>>>> >>>>>> Unless something has changed then Pellet is an in-memory reasoner so >>>>> reasoning directly over the TDB data doesn't necessarily enable you to >>>>> scale beyond memory sized data and may be a performance hit. >>>>> >>>>> >>>>> So I have the ability to store my inferred data into new tdb and to >>>>> reason >>>>> >>>>> or build any rule based on Literal values . For example: this is one >>>>>> triple >>>>>> that has UMLS_type as a property and I can group all subjects with two >>>>>> or >>>>>> more UMLS_types for instance. >>>>>> >>>>>> >>>>>> Not sure what you mean by "grouping" here. This is not one triple >>>>> but one >>>>> resource which is the subject of a number of triples. >>>>> >>>>> >>>>> ddidd:C0007586 | ddids:label >>>>> >>>>>> | "Cell Cycle" >>>>>> ddidd:C0007586 | <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | >>>>>> ddids:Pathway >>>>>> ddidd:C0007586 | ddids:UMLS_type >>>>>> | "T043" >>>>>> ddidd:C0007586 | >>>>>> ddids:x-kegg.pathway >>>>>> | < >>>>>> http://identifiers.org/kegg.pathway/hsa04110> >>>>>> >>>>>> >>>>>> >>>>> However, as you can see from the triple above I have x-kegg.pathway >>>>> as an >>>>> >>>>> external uri. By default protoge takes it to be object property. What >>>>>> I >>>>>> cannot do is to write a rule for example to group all subject under >>>>>> same >>>>>> x-kegg.pathway number since it is external URI. >>>>>> >>>>>> >>>>>> What you do you mean by "group"? >>>>> >>>>> What do you mean by rule here? Swrl rules? If so then you need to ask >>>>> the Pellet folks for support on that. >>>>> >>>>> Why is the URI being "external" of any relevance here? Normally that >>>>> wouldn't matter at all. >>>>> >>>>> >>>>> For example, I want to >>>>> >>>>> create a class called sameKEGG that its members has < >>>>>> http://identifiers.org/kegg.pathway/hsa04110> value for example. >>>>>> >>>>>> >>>>>> That you could do directly in OWL, no need for rules, something like: >>>>> >>>>> eg:sameKEGG a owl:Class; >>>>> owl:equivalentClass [ >>>>> a owl:Restriction; >>>>> owl:onProperty ddids:x-kegg.pathway; >>>>> owl:hasValue <http://identifiers.org/kegg.pathway/hsa04110> >>>>> ] . >>>>> >>>>> Dave >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >> >> > -- Adeeb Noor Ph.D. Candidate Dept of Computer Science University of Colorado at Boulder Cell: 571-484-3303 Email: adeeb.n...@colorado.edu