Lab: OWL 1: Difference between revisions
No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
'''Task 1''' | '''Task 1''' | ||
'''Write OWL triples that corresponds to the following text. '''.If you can, try to build on your example from labs 2 | '''Write OWL triples that corresponds to the following text. '''.If you can, try to build on your example from labs 1 and 2, or extend the triples at the bottom of the page. OWL terms can be imported from rdflib in the same way as RDF and RDFS terms. | ||
the same as | |||
* Donald Trump and Robert Mueller are two different persons. | |||
* Actually, all the names mentioned in connection with the Muelle investigation refer to different people. | |||
* All these people are ''foaf:Person''s as well as ''schema:Person''s (they are http://xmlns.com/foaf/0.1/Person and http://schema.org/Person). | |||
* Tax evation is a kind of bank and tax fraud. | |||
* The Donald Trump involved in the Mueller investigation is ''dbpedia:Donald_Trump'' and not ''dbpedia:Donald_Trump_Jr.'' . | |||
* Congress, FBI and the Mueller investigation are ''foaf:Organization''s. | |||
* Nothing can be both a person and an organization. | |||
* Leading an organization is a way of being involved in an organization. | |||
* Being a campaign manager or an advisor for is a way of supporting someone. | |||
* Donald Trump is a politician and a Republican. | |||
* A Republican politician is both a politician and a Republican. | |||
* ''Harder:'' Someone who supports a Republican politician is a Republican. | |||
'''Task 2''' | '''Task 2''' | ||
<syntaxhighlight> | <syntaxhighlight> | ||
g.add((ex | g.add((ex:Paul_Manafort, ex:hasBusinessPartner ex:Rick_Gates)) | ||
g.add((ex | g.add((ex:Michael_Flynn ex:adviserTo ex:Donald_Trump)) | ||
g.add((ex | g.add((ex:Rick_Gates_Lying ex:wasLyingTo ex:FBI)) | ||
g.add((ex | g.add((ex:Donald_Trump ex:presidentOf ex:USA)) | ||
g.add((ex | g.add((ex:USA ex:hasPpresident ex:Donald_Trump)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Look through the predicates(properties) above and add new triples for each one that describes them as any of the following: a reflexive , irreflexive, symmetric, asymmetric, transitive, functional, or an | Look through the predicates (properties) above and add new triples for each one that describes them as any of the following: a reflexive , irreflexive, symmetric, asymmetric, transitive, functional, or an inverse functional property. | ||
e.g | e.g | ||
<syntaxhighlight> | <syntaxhighlight> | ||
g.add((ex. | g.add((ex.wasLyingTo, RDF.type, OWL.IrreflexiveProperty)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Task 3''' | '''Task 3''' | ||
Print/Serialize the ontology. Then use owlrl | Print/Serialize the ontology. Then use owlrl as below to infer additional triples. Can you spot the many inferences? | ||
<syntaxhighlight> | <syntaxhighlight> | ||
DeductiveClosure(OWLRL_Semantics).expand(graph) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Finally write the ontology to a XML file, and | Finally write the ontology to a XML file, and visualise it using https://service.tib.eu/webvowl/. The purpose of WebVOWL is to visualise classes and their properties, so the individuals may not show. | ||
==Useful Reading== | ==Useful Reading== | ||
Line 79: | Line 60: | ||
==Triples you can extend for the tasks== | ==Triples you can extend for the tasks== | ||
'''Turtle''' | '''Turtle''' | ||
<syntaxhighlight> | <syntaxhighlight> | ||
@prefix ex: <http://example | @prefix ex: <http://example/org#> . | ||
ex: | ex:Mueller_Investigation ex:involved ex:George_Papadopoulos, | ||
ex:Michael_Cohen, | |||
ex:Michael_Flynn, | |||
ex:Paul_Manafort, | |||
ex:Rick_Gates, | |||
ex:Roger_Stone ; | |||
ex:leadBy ex:Robert_Mueller . | |||
ex: | ex:Michael_Cohen ex:attorneyFor ex:Donald_Trump ; | ||
ex:pleadedGuilty ex:Michael_Cohens_Lying . | |||
ex: | ex:Michael_Cohens_Lying a ex:Lying ; | ||
ex:wasLyingAbout ex:Trump_RealEstateDeal ; | |||
ex:wasLyingTo ex:Congress . | |||
ex: | |||
ex: | |||
ex: | ex:Michael_Flynn ex:adviserTo ex:Donald_Trump ; | ||
ex:negotiatedAgreement ex:PleaAgreement ; | |||
ex: | ex:pleadedGuilty ex:Michael_Flynns_Lying . | ||
ex: | |||
ex: | ex:Michael_Flynns_Lying a ex:Lying ; | ||
ex:wasLyingTo ex:FBI . | |||
ex: | |||
ex: | ex:Paul_Manafort ex:campaignManager ex:Donald_Trump ; | ||
ex: | ex:chargedWith ex:ForeignLobbying, | ||
ex: | ex:MoneyLaundering, | ||
ex:TaxEvasion ; | |||
ex: | ex:convictedFor ex:BankAndTaxFraud ; | ||
ex:hasBusinessPartner ex:Rick_Gates ; | |||
ex:negotiatedAgreement ex:PleaAgreement ; | |||
ex:pleadedGuilty ex:Conspiracy ; | |||
ex:sentencedTo ex:Prison . | |||
ex: | ex:Rick_Gates_Lying a ex:Lying ; | ||
ex: | ex:wasLyingTo ex:FBI . | ||
ex: | ex:Rick_Gates ex:chargedWith ex:ForeignLobbying, | ||
ex:MoneyLaundering, | |||
ex:TaxEvasion ; | |||
ex:pleadedGuilty ex:Conspiracy, | |||
ex:Rick_Gates_Lying . | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 14:07, 12 March 2023
Topics
Basic OWL ontology programming with RDFlib and owlrl.
WebVOWL visualisation.
RDF and RDFS might be relevant too.
Classes/Vocabularies
Vocabulary:
- OWL (sameAs, equivalentClass, equivalentProperty, differentFrom, disjointWith, inverseOf)
- OWL (SymmetricProperty, AsymmetricProperty, ReflexiveProperty, IrreflexiveProperty, TransitiveProperty, FunctionalProperty, InverseFunctionalProperty, AllDifferent)
Tasks
Task 1
Write OWL triples that corresponds to the following text. .If you can, try to build on your example from labs 1 and 2, or extend the triples at the bottom of the page. OWL terms can be imported from rdflib in the same way as RDF and RDFS terms.
- Donald Trump and Robert Mueller are two different persons.
- Actually, all the names mentioned in connection with the Muelle investigation refer to different people.
- All these people are foaf:Persons as well as schema:Persons (they are http://xmlns.com/foaf/0.1/Person and http://schema.org/Person).
- Tax evation is a kind of bank and tax fraud.
- The Donald Trump involved in the Mueller investigation is dbpedia:Donald_Trump and not dbpedia:Donald_Trump_Jr. .
- Congress, FBI and the Mueller investigation are foaf:Organizations.
- Nothing can be both a person and an organization.
- Leading an organization is a way of being involved in an organization.
- Being a campaign manager or an advisor for is a way of supporting someone.
- Donald Trump is a politician and a Republican.
- A Republican politician is both a politician and a Republican.
- Harder: Someone who supports a Republican politician is a Republican.
Task 2
g.add((ex:Paul_Manafort, ex:hasBusinessPartner ex:Rick_Gates))
g.add((ex:Michael_Flynn ex:adviserTo ex:Donald_Trump))
g.add((ex:Rick_Gates_Lying ex:wasLyingTo ex:FBI))
g.add((ex:Donald_Trump ex:presidentOf ex:USA))
g.add((ex:USA ex:hasPpresident ex:Donald_Trump))
Look through the predicates (properties) above and add new triples for each one that describes them as any of the following: a reflexive , irreflexive, symmetric, asymmetric, transitive, functional, or an inverse functional property. e.g
g.add((ex.wasLyingTo, RDF.type, OWL.IrreflexiveProperty))
Task 3
Print/Serialize the ontology. Then use owlrl as below to infer additional triples. Can you spot the many inferences?
DeductiveClosure(OWLRL_Semantics).expand(graph)
Finally write the ontology to a XML file, and visualise it using https://service.tib.eu/webvowl/. The purpose of WebVOWL is to visualise classes and their properties, so the individuals may not show.
Useful Reading
Triples you can extend for the tasks
Turtle
@prefix ex: <http://example/org#> .
ex:Mueller_Investigation ex:involved ex:George_Papadopoulos,
ex:Michael_Cohen,
ex:Michael_Flynn,
ex:Paul_Manafort,
ex:Rick_Gates,
ex:Roger_Stone ;
ex:leadBy ex:Robert_Mueller .
ex:Michael_Cohen ex:attorneyFor ex:Donald_Trump ;
ex:pleadedGuilty ex:Michael_Cohens_Lying .
ex:Michael_Cohens_Lying a ex:Lying ;
ex:wasLyingAbout ex:Trump_RealEstateDeal ;
ex:wasLyingTo ex:Congress .
ex:Michael_Flynn ex:adviserTo ex:Donald_Trump ;
ex:negotiatedAgreement ex:PleaAgreement ;
ex:pleadedGuilty ex:Michael_Flynns_Lying .
ex:Michael_Flynns_Lying a ex:Lying ;
ex:wasLyingTo ex:FBI .
ex:Paul_Manafort ex:campaignManager ex:Donald_Trump ;
ex:chargedWith ex:ForeignLobbying,
ex:MoneyLaundering,
ex:TaxEvasion ;
ex:convictedFor ex:BankAndTaxFraud ;
ex:hasBusinessPartner ex:Rick_Gates ;
ex:negotiatedAgreement ex:PleaAgreement ;
ex:pleadedGuilty ex:Conspiracy ;
ex:sentencedTo ex:Prison .
ex:Rick_Gates_Lying a ex:Lying ;
ex:wasLyingTo ex:FBI .
ex:Rick_Gates ex:chargedWith ex:ForeignLobbying,
ex:MoneyLaundering,
ex:TaxEvasion ;
ex:pleadedGuilty ex:Conspiracy,
ex:Rick_Gates_Lying .