The RDF graph¶
LIFT takes a TEI document and returns an RDF graph. The semantics of the RDF graph is predefined, but you can modify it to suit your needs. For example, you could choose to reuse different ontologies or create new transformation rules.
The semantics of LIFT’s RDF graphs is defined by the following ontologies:
CIDOC Conceptual Reference Model (CRM) for representing persons and events
AgRelOn for describing relationships between persons
DCMI Metadata Terms (DCTERMS) for basic information about some entities
Functional Requirements for Bibliographic Records object-oriented (FRBRoo), an extension of CIDOC CRM, for representing texts
Web Ontology Language (OWL) for establishing links to external resources such as authority files
Publishing Roles Ontology (PRO) for representing a person’s role in the context of a specific event
Political Roles Ontology (PRoles) for linking a specific place to a role
Time-indexed Value in Context (TVC) for specyfing the duration of a role in the context of an event
PROV Ontology (PROV-O) for linking events to sources
This section compares the input TEI constructs with the corresponding RDF output to give you a better understanding of how LIFT creates your RDF triples. Please visit the above links to know more about each of the ontologies and properties reused in LIFT.
Persons¶
1<?xml version="1.0" encoding="UTF-8"?>
2<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:base="https://example.org" xml:id="example_v1">
3 <teiHeader>
4 ...
5 <listPerson type="ancient-athenian-philosophers" corresp="http://dbpedia.org/class/yago/WikicatAncientAthenianPhilosophers">
6 <person xml:id="Socr" sameAs="http://viaf.org/viaf/88039167">
7 <persName xml:lang="en">Socrates</persName>
8 </person>
9 </listPerson>
10 ...
11 </teiHeader>
12 <text>
13 ...
14 <p xml:id="para02">Some text mentioning <persName ref="#Aristot">Aristotle</persName> and <placeName ref="#Sparta">Sparta</placeName> here.</p>
15 ...
16 </text>
17</TEI>
1<https://example.org/person/Aristot> a crm:E21_Person ;
2 rdfs:label "Aristotle"@en ;
3 owl:sameAs <http://dbpedia.org/resource/Aristotle>, <http://viaf.org/viaf/7524651> ;
4 dcterms:description "ancient athenian philosophers" ;
5 dcterms:subject <http://dbpedia.org/class/yago/WikicatAncientAthenianPhilosophers> ;
6 dcterms:isReferencedBy <https://example.org/text/para02> .
Places¶
1<?xml version="1.0" encoding="UTF-8"?>
2<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:base="https://example.org" xml:id="example_v1">
3 <teiHeader>
4 ...
5 <listPlace>
6 <place xml:id="Athens" sameAs="https://pleiades.stoa.org/places/579885">
7 <placeName xml:lang="en">Athens</placeName>
8 </place>
9 ...
10 </listPlace>
11 ...
12 </teiHeader>
13 <text>
14 ...
15 <p xml:id="para01">Some text mentioning <persName ref="#Plat">Plato</persName> and <placeName ref="#Athens">Athens</placeName>.</p>
16 ...
17 </text>
18</TEI>
1<https://example.org/place/Athens> a crm:E53_Place ;
2 rdfs:label "Athens"@en ;
3 owl:sameAs <https://pleiades.stoa.org/places/579885> ;
4 dcterms:isReferencedBy <https://example.org/text/para01> .
Relations¶
1<?xml version="1.0" encoding="UTF-8"?>
2<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:base="https://example.org" xml:id="example_v1">
3 <teiHeader>
4 ...
5 <listPerson>
6 <listRelation>
7 <relation xml:id="rel01" name="hasStudent" active="#Socr" passive="#Plat #Xen #Criti"/>
8 <relation xml:id="rel02" name="hasColleague" mutual="#Plat #Xen"/>
9 </listRelation>
10 ...
11 </listPerson>
12 ...
13 </teiHeader>
14 ...
15</TEI>
1<https://example.org/person/Socr> a crm:E21_Person ;
2 agrelon:hasStudent <https://example.org/person/Plat>, <https://example.org/person/Xen>, <https://example.org/person/Criti> .
1<https://example.org/person/Plat> a crm:E21_Person ;
2 agrelon:hasColleague <https://example.org/person/Xen> .
Events¶
1<?xml version="1.0" encoding="UTF-8"?>
2<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:base="https://example.org" xml:id="example_v1">
3 <teiHeader>
4 ...
5 <listPerson type="ancient-athenian-philosophers" corresp="http://dbpedia.org/class/yago/WikicatAncientAthenianPhilosophers">
6 <person xml:id="Socr" sameAs="http://viaf.org/viaf/88039167">
7 ...
8 <event xml:id="ev01" type="trial" when="-0399" corresp="http://wordnet-rdf.princeton.edu/id/01198357-n">
9 <label>Socrates trial</label>
10 <desc xml:id="desc01">The trial of <persName ref="#Socr" role="defendant" corresp="http://wordnet-rdf.princeton.edu/id/09781524-n">Socrates</persName> for impiety and corruption of the youth took place in <placeName ref="#Athens">Athens</placeName> in <date when="-0399">399 B.C.</date></desc> <bibl xml:id="bibl01" sameAs="http://viaf.org/viaf/214045129"><author ref="#Plat">Plato</author> gives a contemporary account of the trial in his work titled <title ref="Apology_of_Socr">Apology of Socrates</title>.</bibl>
11 </event>
12 </person>
13 </listPerson>
14 ...
15 </teiHeader>
16 ...
17</TEI>
1<https://example.org/event/ev01> a crm:E5_Event ;
2 rdfs:label "Socrates trial" ;
3 dcterms:description "trial" ;
4dcterms:subject <http://wordnet-rdf.princeton.edu/id/01198357-n> ;
5prov:hadPrimarySource <https://example.org/source/bibl01> .
6
7<https://example.org/source/bibl01> a prov:PrimarySource ;
8 dcterms:creator <https://example.org/person/Plat> ;
9 dcterms:title "Apology of Socrates" ;
10 owl:sameAs <http://viaf.org/viaf/214045129> .
1<https://example.org/person/Socr> a crm:E21_Person ;
2 pro:holdsRoleInTime <https://example.org/Socr-in-ev01> .
3
4<https://example.org/rit/Socr-at-ev01> a pro:RoleInTime ;
5pro:relatesToEntity <https://example.org/event/ev01> ;
6 pro:withRole <https://example.org/role/defendant> ;
7 tvc:atTime <https://example.org/ev01-time> ;
8 proles:relatesToPlace <https://example.org/place/Athens> .
9
10<https://example.org/ev01-time> a <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> ;
11 ti:hasIntervalEndDate "-0399"^^xsd:date ;
12 ti:hasIntervalStartDate "-0399"^^xsd:date .
13
14<https://example.org/role/defendant> a pro:Role ;
15 rdfs:label "defendant" ;
16 owl:sameAs <http://wordnet-rdf.princeton.edu/id/09781524-n> .