extraction-framework icon indicating copy to clipboard operation
extraction-framework copied to clipboard

Enrich Ontology with owl Axioms

Open jimkont opened this issue 11 years ago • 14 comments

(Suggested by @JensLehmann)

For now the framework supports only the following owl axioms:

  • owl:equivalentClass
  • owl:disjointWith
  • owl:equivalentProperty

with owl:disjointWith not supported when exporting the ontology.

(1) (in page 12) suggests some axioms that could enrich DBpedia. For now, what is needed is just to be able to read these axioms from the wiki and to write them when exporting the owl file (2).

(1) http://jens-lehmann.org/files/2012/ekaw_enrichment.pdf (2) https://github.com/dbpedia/extraction-framework/tree/master/core/src/main/scala/org/dbpedia/extraction/ontology/io

jimkont avatar Apr 04 '13 17:04 jimkont

Hi Dimitris I'd like to work on this simple task, please assign it to me. As I understand the work need to be done is,see how "equivalentClass" axiom works and apply the same procedure for other owl axioms?

kkasunperera avatar May 28 '13 15:05 kkasunperera

Hi Kasun,

It's all yours :) I recently added full support for owl:disjointWith (1) so you can take this as a guide.

Right now we manually add each axiom as a class member. Depending on the number of axiom's we will implement in the end we might have to make this more dynamic (i.e. an axioms list) as it will expand the constructor argument size.

Cheers, Dimitris

(1) https://github.com/dbpedia/extraction-framework/commit/21a978151e8f7f76ab08f5309dafe3f9da4cc390

jimkont avatar May 28 '13 15:05 jimkont

Hi Dimitris

Can you please explain how these axioms are detected from wikipedia-dumps? These are the axioms I read from the above mentioned paper and equivalent standard owl terms.For some I couldn't find any equivalent standard terms. I mean is it Ok to used custom owl terms defined by me for the remaining axioms?

EquivalentClasses owl:equivalentClass DisjointClasses owl:disjointClass SubObjectPropertyOf SubDataPropertyOf EquivalentObjectProperties owl:equivalentProperty EquivalentDataProperties DisjointObjectProperties owl:disjointWith DisjointDataProperties DataPropertyDomain owl:DataDomain ObjectPropertyDomain DataPropertyRange owl:DataRange ObjectPropertyRange
TransitiveObjectProperty owl:transitiveProperty FunctionalObjectProperty owl:functionalProperty FunctionalDataProperty InverseFunctionalObjectProperty owl:inverseFunctionalProperty SymmetricObjectProperty owl:symmetricProperty ReflexiveObjectProperty owl:reflexiveProperty IrreflexiveObjectProperty owl:irreflexiveProperty

kkasunperera avatar Jun 02 '13 01:06 kkasunperera

These are the URIs of the respective properties/properties (in the paper we only used functional syntax for clarity):

SubObjectPropertyOf SubDataPropertyOf => You can use rdfs:subPropertyOf for both.

EquivalentDataProperties => owl:equivalentProperty

DisjointObjectProperties DisjointDataProperties => owl:propertyDisjointWith for both

DataPropertyDomain ObjectPropertyDomain => rdfs:domain for both

DataPropertyRange ObjectPropertyRange => rdfs:range for both

Capitalisation is not correct for the various property characteristics:

TransitiveObjectProperty => To express this, you have to say that the property has rdf:type owl:FunctionalProperty.

The other characteristics are: owl:InverseFunctionalProperty owl:ReflexiveProperty owl:IrreflexiveProperty owl:SymmetricProperty rdf:AsymmetricProperty owl:TransitiveProperty

JensLehmann avatar Jun 03 '13 13:06 JensLehmann

I have added "EquivalentObjectProperties owl:equivalentProperty" axiom and trying to compile the core module on Idea v 12, but getting this error.

/home/kasun/IdeaProjects/extraction-framework/core/src/main/scala/org/dbpedia/extraction/ontology/io/OntologyReader.scala scala: illegal start of statement (no modifiers allowed here) private var buildCalled = false ^ I Haven't done any modification on this object

This is the corresponding line 328 here, https://github.com/dbpedia/extraction-framework/blob/master/core/src/main/scala/org/dbpedia/extraction/ontology/io/OntologyReader.scala

kkasunperera avatar Jun 04 '13 13:06 kkasunperera

Hi i'm not sure how to write the code for "TransitiveObjectProperty". In what way it will be different to "owl:functionalProperty". Can you please explain bit more on this?

kkasunperera avatar Jun 08 '13 01:06 kkasunperera

On the knowledge modelling level, you would have the triples:

dbo:someProperty rdf:type owl:FunctionalProperty .

vs.

dbo:someProperty rdf:type owl:TransitiveProperty .

So it is just a different object in the triple to be created.

Dimitris may be able to help you on the code level.

JensLehmann avatar Jun 08 '13 08:06 JensLehmann

We already talk off list for the coding part

@Jens, do you have any ready-to-use examples for the following axioms?

owl:InverseFunctionalProperty owl:TransitiveProperty owl:SymmetricProperty owl:ReflexiveObjectProperty owl:IrreflexiveObjectProperty owl:propertyDisjointWith

We'd like to add them to the mappings wiki and then start testing the code

On Sat, Jun 8, 2013 at 11:07 AM, Jens Lehmann [email protected]:

On the knowledge modelling level, you would have the triples:

http://dbpedia.org/ontology/someProperty rdf:type owl:FunctionalProperty .

vs.

http://dbpedia.org/ontology/someProperty rdf:type owl:TransitiveProperty .

So it is just a different object in the triple to be created.

Dimitris may be able to help you on the code level.

— Reply to this email directly or view it on GitHubhttps://github.com/dbpedia/extraction-framework/issues/33#issuecomment-19145053 .

Kontokostas Dimitris

jimkont avatar Jun 08 '13 10:06 jimkont

Think you got the wrong Jens. :-)

8 jun 2013 kl. 12:41 skrev Dimitris Kontokostas [email protected]:

We already talk off list for the coding part

@Jens, do you have any ready-to-use examples for the following axioms?

owl:InverseFunctionalProperty owl:TransitiveProperty owl:SymmetricProperty owl:ReflexiveObjectProperty owl:IrreflexiveObjectProperty owl:propertyDisjointWith

We'd like to add them to the mappings wiki and then start testing the code

On Sat, Jun 8, 2013 at 11:07 AM, Jens Lehmann [email protected]:

On the knowledge modelling level, you would have the triples:

http://dbpedia.org/ontology/someProperty rdf:type owl:FunctionalProperty .

vs.

http://dbpedia.org/ontology/someProperty rdf:type owl:TransitiveProperty .

So it is just a different object in the triple to be created.

Dimitris may be able to help you on the code level.

— Reply to this email directly or view it on GitHub< https://github.com/dbpedia/extraction-framework/issues/33#issuecomment-19145053>

.

Kontokostas Dimitris

— Reply to this email directly or view it on GitHubhttps://github.com/dbpedia/extraction-framework/issues/33#issuecomment-19146775 .

jens avatar Jun 08 '13 13:06 jens

Hi all, I think you can find some general examples here (not sure): http://owl.semanticweb.org/page/OWL_2_Test_Cases

Normally, all w3c standards come with test cases. the ones for Owl 2 are pretty good to help explain the thing. Otherwise, asking on dbpedia-discussion for concrete examples might be effective. Sebastian

Dimitris Kontokostas [email protected] schrieb:

We already talk off list for the coding part

@Jens, do you have any ready-to-use examples for the following axioms?

owl:InverseFunctionalProperty owl:TransitiveProperty owl:SymmetricProperty owl:ReflexiveObjectProperty owl:IrreflexiveObjectProperty owl:propertyDisjointWith

We'd like to add them to the mappings wiki and then start testing the code

On Sat, Jun 8, 2013 at 11:07 AM, Jens Lehmann [email protected]:

On the knowledge modelling level, you would have the triples:

http://dbpedia.org/ontology/someProperty rdf:type owl:FunctionalProperty .

vs.

http://dbpedia.org/ontology/someProperty rdf:type owl:TransitiveProperty .

So it is just a different object in the triple to be created.

Dimitris may be able to help you on the code level.

— Reply to this email directly or view it on GitHubhttps://github.com/dbpedia/extraction-framework/issues/33#issuecomment-19145053 .

Kontokostas Dimitris


Reply to this email directly or view it on GitHub: https://github.com/dbpedia/extraction-framework/issues/33#issuecomment-19146775

Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

kurzum avatar Jun 08 '13 15:06 kurzum

Sure, we can do that. My idea was that Jens might have a list of axiom instances for DBpedia as a result of his paper.

Dimitris

ps. Sorry Jens Norrgrann :)

jimkont avatar Jun 09 '13 07:06 jimkont

It might be interesting to finally see some research projects actually being useful. Normally, there is still some extra effort necessary to bridge from research to in use.

Making some simple tests manually is probably faster, hence the link to the examples.

spouse, married, etc are symmetric.

properties such as partOf and hierarchies are Transitive. the rest is probably marginal. Sebastian

Dimitris Kontokostas [email protected] schrieb:

Sure, we can do that. My idea was that Jens might have a list of axiom instances for DBpedia as a result of his paper.

Dimitris

ps. Sorry Jens Norrgrann :)


Reply to this email directly or view it on GitHub: https://github.com/dbpedia/extraction-framework/issues/33#issuecomment-19161900

Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

kurzum avatar Jun 09 '13 10:06 kurzum

Hi @kkasunperera

I remember we watched the code and you were almost done with this. I didn't bother you during the gsoc period but now that you are finished, what is the status? It would be quite useful to enrich the ontology with such axioms

jimkont avatar Oct 10 '13 14:10 jimkont

Hi Dimitris

Thanks for reminding. I will work on this to see a completion.

On Thu, Oct 10, 2013 at 8:17 PM, Dimitris Kontokostas < [email protected]> wrote:

Hi @kkasunperera https://github.com/kkasunperera

I remember we watched the code and you were almost done with this. I didn't bother you during the gsoc period but now that you are finished, what is the status? It would be quite useful to enrich the ontology with such axioms

— Reply to this email directly or view it on GitHubhttps://github.com/dbpedia/extraction-framework/issues/33#issuecomment-26059858 .

Regards

Kasun Perera

kkasunperera avatar Oct 11 '13 03:10 kkasunperera