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.
thanks
On Mon, Mar 17, 2014 at 4:28 AM, Dave Reynolds <[email protected]>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: [email protected]