Shelter xml

From Katrina Help Info

Semantic model


Thanks to Peter Mika


Dear All, Find attached a first crack at an RDF/XML representation for SFIF, based on the relational schema at http://katrinahelp.info/wiki/index.php/Technical_Development.

The goal was to match as close as possible the original schema, using the same method as in PeopleFinder, i.e. leave the original properties, but introduce new classes to group them if necessary.


Outstanding issues: -- naming convention of properties is different from pfif, potential source of errors. Advised (if still possible) is to reuse properties from pfif. -- property location has misleading name, change to name? -- organization type and name are poor identifiers for organizations. Consider identifying organizations by the URL of their homepage, or alt. their address. -- where do the IDs come from? How do you prevent ID collisions? You could use URLs for that, requiring people that the ID is from their own registered namespace, e.g. redcross would use http://www.redcross.org/shelters#1 for their shelter number 1. -- restrict types where appropriate, e.g. make task priority, organization type an enumerated type -- restrict cardinalities where appropriate, e.g. can a location be run by multiple organizations? Can a task have multiple contacts? If no, restrict the cardinality. -- log is redundant in RDF(S)/OWL: we can find out if two descriptions are about the same location by looking at their ids. What you might want to include is some date or version number, maybe.


Suggested RDF/XML format: (note that the only diff to peoplefinder’s xml format is that the document is embedded in rdf:RDF tags and it follows the striped syntax of RDF, i.e. one level of classes, one level of properties) . Find example below (also attached).


Hope this helps. Best,Peter


<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"        xmlns="http://zesty.ca/sfif/1.0/">
<Location>

<locationID></locationID>

<location></location>

<address></address>

<city></city>

<county></county>

<state></state>

<zip></zip>

<capacity></capacity>

<log></log>

<runBy>

<Organization>

<organizationType></organizationType>

<organizationName></organizationName>

</Organization>

</runBy>

<hasContact>

<Contact>

<contactName></contactName>

<contactInfo></contactInfo>

<contactPhone></contactPhone>

<contactEmail></contactEmail>

<contactNotes></contactNotes>

</Contact>

</hasContact>

<hasSource>

<Source>

<modifiedSource></modifiedSource>

<modifiedUser></modifiedUser>

<modifiedNotes></modifiedNotes>

<modifiedDates></modifiedDates>

</Source>

</hasSource>

<hasNote>

<Note>

<noteID></noteID>

<notesType></notesType>

<notes></notes>

<hasTask> <Task> <task></task>

<taskOwner></taskOwner>

<taskStatus></taskStatus>

<taskPriority></taskPriority>

<taskInfo></taskInfo>

</Task>

</hasTask>

<hasContact> <Contact> <contactName></contactName>

<contactInfo></contactInfo>

<contactPhone></contactPhone>

<contactEmail></contactEmail>

<contactNotes></contactNotes>

</Contact>

</hasContact>

<hasSource> <Source> <modifiedSource></modifiedSource>

<modifiedUser></modifiedUser>

<modifiedNotes></modifiedNotes>

<modifiedDates></modifiedDates>

</Source> </hasSource> </Note> </hasNote>

</Location>
</rdf:RDF>

---

Good sql/rdf CHECK OUT THIS LINK (http://www.reengineeringllc.com/demo_agents/RDFQueryLangComparison1.agent) Scraped from W3 : The underlying system generates complex SQL (with multiple calls for recursion) automatically from the rules.

Help us stay online!