Hi Arif, 

AFAIK, DAML format is not supported by Jena at the moment (also mentioned by 
Dave before).
It was used around year 2000 I think, and then replaced by RDF(S)/OWL format as 
a standard.

I check the GEDCOM ontology, and it shouldn’t be too hard to recreate them in 
OWL format from scratch using protege 3.5 [1]. 
afterward, you could start to play with them using Jena. 

If you’re not familiar with ontology in general, I suggest to read an excellent 
introduction from Noy [1] for starter. 

Hope this helps, 
Fajar

[1] 
http://protege.stanford.edu/download/protege/3.5/installanywhere/Web_Installers/
 
<http://protege.stanford.edu/download/protege/3.5/installanywhere/Web_Installers/>
[2] 
http://protege.stanford.edu/publications/ontology_development/ontology101.pdf 
<http://protege.stanford.edu/publications/ontology_development/ontology101.pdf>

> On 10 Dec 2015, at 10:19, M. Arif Wicaksana <[email protected]> wrote:
> 
> Hi Dave,
> 
> thanks for your response.
> 
> I tried using RDFS_MEM. It gave me the classes, but I got the following
> error for printing the properties:
> 
> Exception in thread "main" org.apache.jena.ontology.ProfileException:
> Attempted to use language construct OBJECT_PROPERTY that is not supported
> in the current language profile: RDFS
> 
> I am not sure I understand about this:
> "However, for interpreting all the DAML specific things like
> daml:Restriction you will have to work at the RDF level and do this
> yourself."
> What does working at the RDF level mean? (I am sorry, still new in this
> topic)
> 
> If DAML support is deprecated, does it mean that I cannot enrich the GEDCOM
> ontology, and use it to do inference on a RDF file?
> 
> 
> Regards,
> Arif
> 
> On Thu, Dec 10, 2015 at 9:55 AM, Dave Reynolds <[email protected]>
> wrote:
> 
>> Jena's DAML support was deprecated and then removed some time ago I think.
>> 
>> For just finding the classes you could use an RDFS_MEM model since DAML is
>> using rdfs:Class to declare classes (and not owl:Class).
>> 
>> However, for interpreting all the DAML specific things like
>> daml:Restriction you will have to work at the RDF level and do this
>> yourself.
>> 
>> Dave
>> 
>> 
>> 
>> On 09/12/15 20:12, M. Arif Wicaksana wrote:
>> 
>>> Hi all,
>>> 
>>> I have a project to use GEDCOM ontology (
>>> http://www.daml.org/2001/01/gedcom/gedcom), enrich it with additional
>>> classes and properties, and do some inferences against an RDF file based
>>> on
>>> the enriched GEDCOM ontology.
>>> 
>>> Currently, I want to print all classes and properties from that ontology
>>> (just to see if Jena can read it properly) using the code I put in the end
>>> of this message. I download the ontology as 'gedcom-ori.xml'. However, the
>>> code returns nothing.
>>> 
>>> I have tried this code for another ontology which uses OWL. And it works
>>> properly (prints all classes and properties). But I have no idea why it
>>> does not work for GEDCOM ontology above. I suspect the problem is because
>>> the ontology uses DAML. I tried my best to find in the documentation of
>>> Jena about how to read DAML, but I can't find it.
>>> 
>>> My question is, how can my code print all classes and properties from the
>>> GEDCOM ontology? what is the correct way to read DAML-based ontology using
>>> Jena?
>>> 
>>> It is very likely that I misunderstand this problem, since I am still new
>>> in this field. If that is the case, would you mind to show me my mistake?
>>> 
>>> Thanks!
>>> 
>>> 
>>> Regards,
>>> Arif
>>> 
>>> 
>>> =============
>>> code:
>>> 
>>> OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
>>>     OntDocumentManager dm = m.getDocumentManager();
>>>     dm.addAltEntry("http://www.daml.org/2001/01/gedcom/gedcom";,
>>>             "file:/home/arif/workspace/RoyalInference/gedcom-ori.xml");
>>> 
>>>     m.read("http://www.daml.org/2001/01/gedcom/gedcom";);
>>> 
>>>     if(m.isEmpty()) {
>>>         System.out.println("is empty");
>>>     } else {
>>>         System.out.println("not empty");
>>>     }
>>> 
>>>     ExtendedIterator allProperties = m.listAllOntProperties();
>>>     while(allProperties.hasNext()) {
>>>         System.out.println("datatypeproperties: " +
>>> allProperties.next().toString());
>>>     }
>>> 
>>> 
>>>     ExtendedIterator classes = m.listClasses();
>>> 
>>>     while(classes.hasNext()) {
>>>         OntClass thisClass= (OntClass) classes.next();
>>>         System.out.println("found class: " + thisClass.toString());
>>> 
>>>         ExtendedIterator instances = thisClass.listInstances();
>>> 
>>>         while(instances.hasNext()) {
>>>             Individual thisInstance = (Individual) instances.next();
>>>             System.out.println("found instance: " +
>>> thisInstance.toString());
>>>         }
>>>     }
>>> ======================================
>>> 
>>> 

Reply via email to