extraction-framework
extraction-framework copied to clipboard
Enrich Ontology with owl Axioms
(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
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?
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
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
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
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
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?
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.
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
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 .
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.
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 :)
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.
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
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