feratel plugin 19052014

23
STI INNSBRUCK FERATEL SCHEMA.ORG PLUGIN IMPLEMENTATION Zaenal Akbar, Ioan Toma, Christoph Fuchs, Corneliu Valentin Stanciu, Lanzanasto Norbert STI Innsbruck, University of Innsbruck, Technikerstraße 21a, 6020 Innsbruck, Austria [email protected] 2014-05-19 Semantic Technology Institute Innsbruck 1

Upload: stiinnsbruck

Post on 15-Aug-2015

20 views

Category:

Presentations & Public Speaking


2 download

TRANSCRIPT

Page 1: Feratel plugin 19052014

STI INNSBRUCK

FERATEL SCHEMA.ORG PLUGIN IMPLEMENTATION

Zaenal Akbar, Ioan Toma, Christoph Fuchs, Corneliu Valentin Stanciu, Lanzanasto Norbert

STI Innsbruck, University of Innsbruck,Technikerstraße 21a, 6020 Innsbruck, Austria

[email protected]

2014-05-19

Semantic Technology Institute Innsbruck

STI INNSBTRUCKTechnikerstraße 21aA – 6020 Innsbruck

Austriahttp://www.sti-innsbruck.

1

Page 2: Feratel plugin 19052014

Contents1. Introduction................................................................................................................................................2

2. Implementation..........................................................................................................................................2

2.1. Mark-up Format..................................................................................................................................2

2.2. XML Elements Mapping....................................................................................................................3

2.3. XSLT with Microdata.........................................................................................................................3

3. Evaluation..................................................................................................................................................5

4. Discussion..................................................................................................................................................8

Appendix A. An XML Response of Event....................................................................................................9

Appendix B. An XST Transformation for Event.........................................................................................12

Appendix C. Transformed XML of Event...................................................................................................15

References....................................................................................................................................................18

2

Page 3: Feratel plugin 19052014

1. Introduction

This document presents the implementation of Feratel-Schema.org plugin. Based on the implementation plan [1], the plugin is designed to consume an XML response output from Feratel API [2], parsing the XML elements and properties then mapping each element/property to related class/ property from Schema.org, and finally insert the class/property into the XML output using an XSL Transformation [3].

The outputs of this implementation are:

1. The markup format to be used2. The mapping between XML element to Schema.org class including their properties3. The XSL Transformation for each relevant element/property

2. Implementation

For notation, if does not mentioned explicitly, we use “element” to refer to an XML element from Feratel API and “class” to a class from Schema.org.

The basic rules implementation to transform the elements to their relevant classes are described as follow:

1. For each element in Feratel XML:a. If there is a suitable class in Schema.org then use the class as property value of

the markup format for this elementb. If not then introduce a new element to represent the related class

2. For each property of element in Feratel XML:a. If the element has a related class in Schema.org then use the relevant property

from the classb. If not then introduce a new element to represent the class of related property

The solution for each desired output from the previous section will be explained in more detail in the following sub-sections.

2.1. Mark-up Format

There are various formats available to annotate an XML such as RDFa [4] and Microdata [5], where both formats are supported by Schema.org.

Since we use the Apache Any23 [6] to extract the annotated XML, after tested with these two formats, we found that Microdata is more convenient to interlinking a class to other class (i.e to link a class Event to class PostalAddress though property location).

3

Page 4: Feratel plugin 19052014

2.2. XML Elements Mapping

The mapping is representing a relation between the elements of Feratel XML and the classes of Schema.org including their properties.

Table 1 Mapping XML element to Schema.org class

No. XML ElementSchema.org

Class Property1 Event Event

Event/Details/Names/Translation nameEvent/Details/Dates/Date@From startDate@To endDate

2 Event/Details/Position GeoCoordinates ??@Latitude latitude@Longitude longitudeEvent/Descriptions/Description descriptionEvent/Links/Link url

3 Event/Addresses/Address PostalAddress locationEvent/Addresses/Address/Company ?? ??Event/Addresses/Address/FirstName ?? givenNameEvent/Addresses/Address/LastName ?? familyNameEvent/Addresses/Address/AddressLine1 streetAddressEvent/Addresses/Address/AddressLine2 streetAddressEvent/Addresses/Address/Country addressCountryEvent/Addresses/Address/ZipCode postalCodeEvent/Addresses/Address/Town addressRegionEvent/Addresses/Address/Email emailEvent/Addresses/Address/Fax faxNumberEvent/Addresses/Address/URL urlEvent/Addresses/Address/Phone telephoneEvent/Addresses/Address/Mobile telephone

2.3. XSLT with Microdata

Based on the obtained mapping shown at Table 1, then we construct the transformation by using the XSL transformation as follow:

1. Namespaces declarationFrom the Feratel XML output (see Appendix A), it has a specific namespace “http://interface.deskline.net/DSI/XSD”, therefore this namespace is required to be declared in the XSL namespaces.

4

Page 5: Feratel plugin 19052014

<xsl:stylesheet version="1.0"xmlns:idn="http://interface.deskline.net/DSI/XSD"xmlns:schema="http://schema.org/"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

2. Element to Class transformationAn XSL template can be used to transform the mapping between an element to a related class directly. A property to interlinking between classes can be inserted whenever it’s required (i.e. between Event to its PostalAddress).

<xsl:template match="idn:Event"><Event itemscope="" itemtype="http://schema.org/Event">

<xsl:apply-templates select="node()|@*"/> </Event></xsl:template>

<xsl:template match="idn:Address"><Address itemprop="location" itemscope=""

itemtype="http://schema.org/PostalAddress"> <xsl:apply-templates select="node()|@*"/> </Address></xsl:template>

3. Element’s properties to relevant Class’s propertiesProperties transformation can be implemented directly as a new property of related element.

<xsl:template match="idn:Event/idn:Descriptions/idn:Description"><Description itemprop="description">

<xsl:apply-templates select="node()|@*"/> </Description></xsl:template>

<xsl:template match="idn:Address/idn:Country"><Country itemprop="addressCountry">

<xsl:value-of select="."/> </Country></xsl:template>

4. Element’s properties transformation without a relevant ClassA special transformation is required whenever a property has no relevant class. For example, property FirstName in XML is covered by the element Address where in Schema.org the relevant property givenName is covered by class Person. Therefore, a meta element to represent class Person needs to be inserted first.

<xsl:template match="idn:Event/idn:Details/idn:Dates/idn:Date"><Date>

<xsl:apply-templates select="node()|@*"/></Date>

<time itemprop="startDate" datetime="{@From}" /> <time itemprop="endDate" datetime="{@To}" /></xsl:template>

5

Page 6: Feratel plugin 19052014

<xsl:template match="idn:Address/idn:FirstName"><schema:Person itemprop="owner" itemscope=""

itemtype="http://schema.org/Person"><FirstName itemprop="givenName">

<xsl:value-of select="."/></FirstName><LastName itemprop="familyName">

<xsl:value-of select="../idn:LastName"/></LastName>

</schema:Person></xsl:template>

3. Evaluation

For evaluation we will use Event as input from Feratel API (see Appendix A). The XSL Transformation for Event shown at Appendix B and produce output at Appendix C.

The output from Apache Any23 [6] is shown as follow:

------------------------------------------------------------------------Apache Any23 :: rover------------------------------------------------------------------------

@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix doac: <http://ramonantonio.net/doac/0.1/#> .

_:node2ef56d19853fde73a26d76e4fbc19ce a <http://schema.org/Event> ;<http://schema.org/Event/startDate>

"2010-07-30"^^<http://www.w3.org/2001/XMLSchema#date> .

_:node975779997e46bf1c502ae7c4e9863e7 a <http://schema.org/PostalAddress> ;<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;<http://schema.org/PostalAddress/postalCode> "88605" ;<http://schema.org/PostalAddress/faxNumber> "Null" ;<http://schema.org/PostalAddress/email> "Null" ;<http://schema.org/PostalAddress/addressRegion> "Messkirch" .

_:noded99eb72852e18a5aa2a5fb17182d1c a <http://schema.org/Person> ;<http://schema.org/Person/familyName> "Huber" ;<http://schema.org/Person/givenName> "Null" .

_:node975779997e46bf1c502ae7c4e9863e7 <http://schema.org/PostalAddress/owner> _:noded99eb72852e18a5aa2a5fb17182d1c ;

<http://schema.org/PostalAddress/addressCountry> "DE" ;<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;<http://schema.org/PostalAddress/url> "Null" .

_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:node975779997e46bf1c502ae7c4e9863e7 .

_:nodef2cce7629b732aad2a981c5a354ac99 a <http://schema.org/PostalAddress> ;<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;

6

Page 7: Feratel plugin 19052014

<http://schema.org/PostalAddress/postalCode> "88605" ;<http://schema.org/PostalAddress/faxNumber> "Null" ;<http://schema.org/PostalAddress/email> "Null" ;<http://schema.org/PostalAddress/addressRegion> "Messkirch" .

_:nodef36dadee38e72b3b342985111c7f17 a <http://schema.org/Person> ;<http://schema.org/Person/familyName> "Huber" ;<http://schema.org/Person/givenName> "Null" .

_:nodef2cce7629b732aad2a981c5a354ac99 <http://schema.org/PostalAddress/owner> _:nodef36dadee38e72b3b342985111c7f17 ;

<http://schema.org/PostalAddress/addressCountry> "DE" ;<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;<http://schema.org/PostalAddress/url> "Null" .

_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:nodef2cce7629b732aad2a981c5a354ac99 .

_:node124cb58e71fc618e639d69d5373a61a5 a <http://schema.org/PostalAddress> ;<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;<http://schema.org/PostalAddress/postalCode> "88605" ;<http://schema.org/PostalAddress/faxNumber> "Null" ;<http://schema.org/PostalAddress/email> "Null" ;<http://schema.org/PostalAddress/addressRegion> "Messkirch" .

_:node8873d4f96487c9f74044422bde2d2af5 a <http://schema.org/Person> ;<http://schema.org/Person/familyName> "Huber" ;<http://schema.org/Person/givenName> "Null" .

_:node124cb58e71fc618e639d69d5373a61a5 <http://schema.org/PostalAddress/owner> _:node8873d4f96487c9f74044422bde2d2af5 ;

<http://schema.org/PostalAddress/addressCountry> "DE" ;<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;<http://schema.org/PostalAddress/url> "Null" .

_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:node124cb58e71fc618e639d69d5373a61a5 .

_:nodef31aaf75bfbb1b23e591a93b6f1a07f a <http://schema.org/PostalAddress> ;<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;<http://schema.org/PostalAddress/postalCode> "88605" ;<http://schema.org/PostalAddress/faxNumber> "Null" ;<http://schema.org/PostalAddress/email> "Null" ;<http://schema.org/PostalAddress/addressRegion> "Messkirch" .

_:nodec1e189ed086df66450c24bee26697d a <http://schema.org/Person> ;<http://schema.org/Person/familyName> "Huber" ;<http://schema.org/Person/givenName> "Null" .

_:nodef31aaf75bfbb1b23e591a93b6f1a07f <http://schema.org/PostalAddress/owner> _:nodec1e189ed086df66450c24bee26697d ;

<http://schema.org/PostalAddress/addressCountry> "DE" ;<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;<http://schema.org/PostalAddress/url> "Null" .

7

Page 8: Feratel plugin 19052014

_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:nodef31aaf75bfbb1b23e591a93b6f1a07f ;

<http://schema.org/Event/description> "Dieses Mega-Event findet direkt am Faaker-See statt." ;

<http://schema.org/Event/name> "Beach-Party" , "Beach-Party" ;<http://schema.org/Event/endDate>

"2010-08-01"^^<http://www.w3.org/2001/XMLSchema#date> ;<http://schema.org/Event/url> "http://www.test.com" .

<http://localhost:8080/feratel/Feratel> <http://www.w3.org/1999/xhtml/microdata#item> _:node2ef56d19853fde73a26d76e4fbc19ce .

------------------------------------------------------------------------Apache Any23 SUCCESSTotal time: 2sFinished at: Mon May 19 11:21:23 CEST 2014Final Memory: 48M/480M------------------------------------------------------------------------

It is successfully extracted:

1. Eventa. startDateb. descriptionc. named. endDatee. url

2. PostalAddressa. streetAddressb. postalCodec. faxNumberd. emaile. addressRegionf. addressCountryg. telephoneh. urli. owner

3. Persona. familyNameb. givenName

8

Page 9: Feratel plugin 19052014

4. Discussion

There are a few transformations (marked with red color) need to be considered and discussed:

1. Property Company is covered by the element Address in Feratel XML. We could not find a relevant property from a class of Schema.org.

2. Properties FamilyName and LastName is covered by the element Address in Feratel XML. We introduce a new class Person from Schema.org to cover these properties, but we do not have an exact property to link the PostalAddress to this Person yet. At the moment we use “owner”.

3. The effect of those newly introduced elements/properties to the TVb’s program which consume the annotated XML need to be tested.

9

Page 10: Feratel plugin 19052014

Appendix A. An XML Response of Event

The output from Feratel API of Event obtained from Deskline Documentation [2].

<?xml version="1.0"?><FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK" xmlns="http://interface.deskline.net/DSI/XSD"><Result Index="1">

<Events><Event Id="eaff6469-2dc8-4369-9ac3-51f9baf9dddd" ChangeDate="2010-05-

21T16:41:00"><Details>

<Names><Translation Language="de">Beach-Party</Translation><Translation Language="en">Beach-Party</Translation>

</Names><Location>

<Translation Language="de">Grand Hotel Patricia</Translation><Translation Language="en">Grand Hotel Patricia</Translation>

</Location><Active>true</Active><Towns>

<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5" /><Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68" />

</Towns><Position Latitude="13.9056015014648"

Longitude="46.6095920078523" /><IsTopEvent>false</IsTopEvent><HolidayThemes>

<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5" /><Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68" />

</HolidayThemes><ConnectedEntries>

<ConnectedEntry Type="EventInfrastructure" Id="2f050ae2-85f5-4a99-8c92-075ff4b3f58b" />

<ConnectedEntry Type="EventInfrastructure" Id="034927b4-062e-499e-9bea-bb638814dae5" />

<ConnectedEntry Type="EventServiceProvider" Id="e59a3a87-8b76-423a-9a54-767ddc405d90" />

</ConnectedEntries><SerialEvents>

<SerialEvent Id="3a8b8857-500c-4693-8afe-7ec4c258b234" /></SerialEvents><Visibility>Local</Visibility><Dates>

<Date From="2010-07-30" To="2010-08-01" /></Dates><StartTimes>

<StartTime Time="00:23:00" Mon="false" Tue="false" Wed="false" Thu="false" Fri="true" Sat="true" Sun="true" />

</StartTimes><Duration Type="None">0</Duration>

</Details>

10

Page 11: Feratel plugin 19052014

<Addresses><Address Type="Organizer" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><FirstName /><LastName>Huber</LastName><AddressLine1>Am Wald 1</AddressLine1><AddressLine2 /><Country>DE</Country><ZipCode>88605</ZipCode><Town>Messkirch</Town><Email /><Fax /><URL /><Phone /><Mobile />

</Address><Address Type="Booking" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><FirstName /><LastName>Huber</LastName><AddressLine1>Am Wald 1</AddressLine1><AddressLine2 /><Country>DE</Country><ZipCode>88605</ZipCode><Town>Messkirch</Town><Email /><Fax /><URL /><Phone /><Mobile />

</Address><Address Type="Info" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><FirstName /><LastName>Huber</LastName><AddressLine1>Am Wald 1</AddressLine1><AddressLine2 /><Country>DE</Country><ZipCode>88605</ZipCode><Town>Messkirch</Town><Email /><Fax /><URL /><Phone /><Mobile />

</Address><Address Type="Venue" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><FirstName /><LastName>Huber</LastName><AddressLine1>Am Wald 1</AddressLine1><AddressLine2 /><Country>DE</Country><ZipCode>88605</ZipCode><Town>Messkirch</Town><Email /><Fax />

11

Page 12: Feratel plugin 19052014

<URL /><Phone /><Mobile />

</Address></Addresses><Descriptions>

<Description Id="e57d510f-8a90-4689-a4d5-0b5eb95641a6" Type="EventHeader" Language="de" Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega-Event findet direkt am Faaker-See statt.</Description>

</Descriptions><Links>

<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00" Type="0" Order="1" />

</Links><Facilities ChangeDate="2009-10-01T14:17:00">

<Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1" /><Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1" />

</Facilities></Event>

</Events></Result></FeratelDsiRS>

12

Page 13: Feratel plugin 19052014

Appendix B. An XST Transformation for Event

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"xmlns:idn="http://interface.deskline.net/DSI/XSD"xmlns:schema="http://schema.org/"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="node()|@*"><xsl:copy>

<xsl:apply-templates select="node()|@*"/> </xsl:copy></xsl:template>

<xsl:template match="idn:Result"><Result>

<xsl:apply-templates select="node()|@*"/> </Result></xsl:template>

<!--Event

--><xsl:template match="idn:Event">

<Event itemscope="" itemtype="http://schema.org/Event"> <xsl:apply-templates select="node()|@*"/> </Event></xsl:template>

<xsl:template match="idn:Event/idn:Details/idn:Names/idn:Translation"><Translation itemprop="name">

<xsl:apply-templates select="node()|@*"/></Translation>

</xsl:template>

<xsl:template match="idn:Event/idn:Details/idn:Dates/idn:Date"><Date>

<xsl:apply-templates select="node()|@*"/></Date>

<time itemprop="startDate" datetime="{@From}" /> <time itemprop="endDate" datetime="{@To}" /></xsl:template>

<xsl:template match="idn:Event/idn:Descriptions/idn:Description"><Description itemprop="description">

<xsl:apply-templates select="node()|@*"/> </Description></xsl:template>

<xsl:template match="idn:Event/idn:Links/idn:Link"><Link>

13

Page 14: Feratel plugin 19052014

<xsl:apply-templates select="node()|@*"/> </Link> <meta itemprop="url" content="{@URL}" /></xsl:template>

<!--Address to PostalAddress

--><xsl:template match="idn:Address">

<Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress"> <xsl:apply-templates select="node()|@*"/> </Address></xsl:template>

<!--<xsl:template match="idn:Address/idn:Company">

<Company itemprop="organizer" itemscope="" itemtype="http://schema.org/Organization">

<meta itemprop="name" content="." /><FirstName itemprop="givenName">

<xsl:value-of select="."/></FirstName><LastName itemprop="familyName">

<xsl:value-of select="../idn:LastName"/></LastName>

</Company></xsl:template>

<xsl:template match="idn:Address/idn:FirstName" />-->

<xsl:template match="idn:Address/idn:FirstName"><schema:Person itemprop="owner" itemscope=""

itemtype="http://schema.org/Person"><FirstName itemprop="givenName">

<xsl:value-of select="."/></FirstName><LastName itemprop="familyName">

<xsl:value-of select="../idn:LastName"/></LastName>

</schema:Person></xsl:template>

<xsl:template match="idn:Address/idn:LastName" />

<xsl:template match="idn:Address/idn:AddressLine1"><AddressLine1 itemprop="streetAddress">

<xsl:value-of select="."/> </AddressLine1></xsl:template>

<xsl:template match="idn:Address/idn:AddressLine2"><AddressLine2 itemprop="streetAddress">

<xsl:value-of select="."/> </AddressLine2></xsl:template>

14

Page 15: Feratel plugin 19052014

<xsl:template match="idn:Address/idn:Country"><Country itemprop="addressCountry">

<xsl:value-of select="."/> </Country></xsl:template>

<xsl:template match="idn:Address/idn:ZipCode"><ZipCode itemprop="postalCode">

<xsl:value-of select="."/> </ZipCode></xsl:template>

<xsl:template match="idn:Address/idn:Town"><Town itemprop="addressRegion">

<xsl:value-of select="."/> </Town></xsl:template>

<xsl:template match="idn:Address/idn:Email"><Email itemprop="email">

<xsl:value-of select="."/> </Email></xsl:template>

<xsl:template match="idn:Address/idn:Fax"><Fax itemprop="faxNumber">

<xsl:value-of select="."/> </Fax></xsl:template>

<xsl:template match="idn:Address/idn:URL"><URL itemprop="url">

<xsl:value-of select="."/> </URL></xsl:template>

<xsl:template match="idn:Address/idn:Phone"><Phone itemprop="telephone">

<xsl:value-of select="."/> </Phone></xsl:template>

<xsl:template match="idn:Address/idn:Mobile"><Mobile itemprop="telephone">

<xsl:value-of select="."/> </Mobile></xsl:template>

</xsl:stylesheet>

15

Page 16: Feratel plugin 19052014

Appendix C. Transformed XML of Event

<?xml version="1.0" encoding="UTF-8"?><FeratelDsiRS xmlns="http://interface.deskline.net/DSI/XSD" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"><Result xmlns:schema="http://schema.org/" xmlns:idn="http://interface.deskline.net/DSI/XSD" Index="1">

<Events><Event itemscope="" itemtype="http://schema.org/Event" Id="eaff6469-

2dc8-4369-9ac3-51f9baf9dddd" ChangeDate="2010-05-21T16:41:00"><Details>

<Names><Translation itemprop="name"

Language="de">Beach-Party</Translation><Translation itemprop="name"

Language="en">Beach-Party</Translation></Names><Location>

<Translation Language="de">Grand Hotel Patricia</Translation><Translation Language="en">Grand Hotel Patricia</Translation>

</Location><Active>true</Active><Towns>

<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5"/><Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68"/>

</Towns><Position Latitude="13.9056015014648" Longitude="46.6095920078523"/><IsTopEvent>false</IsTopEvent><HolidayThemes>

<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5"/><Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68"/>

</HolidayThemes><ConnectedEntries>

<ConnectedEntry Type="EventInfrastructure" Id="2f050ae2-85f5-4a99-8c92-075ff4b3f58b"/>

<ConnectedEntry Type="EventInfrastructure" Id="034927b4-062e-499e-9bea-bb638814dae5"/>

<ConnectedEntry Type="EventServiceProvider" Id="e59a3a87-8b76-423a-9a54-767ddc405d90"/>

</ConnectedEntries><SerialEvents>

<SerialEvent Id="3a8b8857-500c-4693-8afe-7ec4c258b234"/></SerialEvents><Visibility>Local</Visibility><Dates>

<Date From="2010-07-30" To="2010-08-01"/><time itemprop="startDate" datetime="2010-07-30"/><time itemprop="endDate" datetime="2010-08-01"/>

</Dates><StartTimes>

<StartTime Time="00:23:00" Mon="false" Tue="false" Wed="false" Thu="false" Fri="true" Sat="true" Sun="true"/>

</StartTimes>

16

Page 17: Feratel plugin 19052014

<Duration Type="None">0</Duration></Details><Addresses>

<Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress" Type="Organizer" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><schema:Person itemprop="owner" itemscope=""

itemtype="http://schema.org/Person"><FirstName itemprop="givenName"/><LastName itemprop="familyName">Huber</LastName></schema:Person>

<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1><AddressLine2 itemprop="streetAddress"/><Country itemprop="addressCountry">DE</Country><ZipCode itemprop="postalCode">88605</ZipCode><Town itemprop="addressRegion">Messkirch</Town><Email itemprop="email"/><Fax itemprop="faxNumber"/><URL itemprop="url"/><Phone itemprop="telephone"/><Mobile itemprop="telephone"/>

</Address><Address itemprop="location" itemscope=""

itemtype="http://schema.org/PostalAddress" Type="Booking" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><schema:Person itemprop="owner" itemscope=""

itemtype="http://schema.org/Person"><FirstName itemprop="givenName"/><LastName itemprop="familyName">Huber</LastName></schema:Person>

<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1><AddressLine2 itemprop="streetAddress"/><Country itemprop="addressCountry">DE</Country><ZipCode itemprop="postalCode">88605</ZipCode><Town itemprop="addressRegion">Messkirch</Town><Email itemprop="email"/><Fax itemprop="faxNumber"/><URL itemprop="url"/><Phone itemprop="telephone"/><Mobile itemprop="telephone"/>

</Address><Address itemprop="location" itemscope=""

itemtype="http://schema.org/PostalAddress" Type="Info" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><schema:Person itemprop="owner" itemscope=""

itemtype="http://schema.org/Person"><FirstName itemprop="givenName"/><LastName itemprop="familyName">Huber</LastName></schema:Person>

<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1><AddressLine2 itemprop="streetAddress"/>

17

Page 18: Feratel plugin 19052014

<Country itemprop="addressCountry">DE</Country><ZipCode itemprop="postalCode">88605</ZipCode><Town itemprop="addressRegion">Messkirch</Town><Email itemprop="email"/><Fax itemprop="faxNumber"/><URL itemprop="url"/><Phone itemprop="telephone"/><Mobile itemprop="telephone"/>

</Address><Address itemprop="location" itemscope=""

itemtype="http://schema.org/PostalAddress" Type="Venue" ChangeDate="2009-10-01T14:17:00">

<Company>Hotel Sonne, Abr. Res.</Company><schema:Person itemprop="owner" itemscope=""

itemtype="http://schema.org/Person"><FirstName itemprop="givenName"/><LastName itemprop="familyName">Huber</LastName></schema:Person>

<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1><AddressLine2 itemprop="streetAddress"/><Country itemprop="addressCountry">DE</Country><ZipCode itemprop="postalCode">88605</ZipCode><Town itemprop="addressRegion">Messkirch</Town><Email itemprop="email"/><Fax itemprop="faxNumber"/><URL itemprop="url"/><Phone itemprop="telephone"/><Mobile itemprop="telephone"/>

</Address></Addresses><Descriptions>

<Description itemprop="description" Id="e57d510f-8a90-4689-a4d5-0b5eb95641a6" Type="EventHeader" Language="de" Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega-Event findet direkt am Faaker-See statt.</Description>

</Descriptions><Links>

<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00" Type="0" Order="1"/><meta itemprop="url" content="http://www.test.com"/>

</Links><Facilities ChangeDate="2009-10-01T14:17:00">

<Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1"/><Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1"/>

</Facilities></Event>

</Events></Result></FeratelDsiRS>

18

Page 19: Feratel plugin 19052014

References

[1] Christoph Fuchs and Corneliu Valentin Stanciu, “Feratel Schema.org Plugin Implementation Plan”, April 2014

[2] Simone Schanitz, “Documentation Deskline 3.0 Standard Interface (DSI)”, March 2014[3] W3C, “XSL Transformations (XSLT)”, http://www.w3.org/TR/xslt[4] W3C, “RDFa 1.1 Primer”, http://www.w3.org/TR/xhtml-rdfa-primer/[5] W3C, “HTML Microdata”, http://www.w3.org/TR/microdata/[6] Apache Any23, https://any23.apache.org/

19