Date post: | 31-Aug-2014 |
Category: |
Education |
Upload: | david-wood |
View: | 1,729 times |
Download: | 1 times |
An Introduction
toLinked Data
David Hyland-WoodUniversity of Mary Washington
Part 2 of 5Data Modeling
Monday, May 16, 2011
Data modeling without context
Monday, May 16, 2011
Modeling without Context
Monday, May 16, 2011
Modeling without Context• Model the Real World
Monday, May 16, 2011
Modeling without Context• Model the Real World
• Look for objects of interest
Monday, May 16, 2011
Modeling without Context• Model the Real World
• Look for objects of interest
• Put aside the immediate needs of any application
Monday, May 16, 2011
Modeling without Context• Model the Real World
• Look for objects of interest
• Put aside the immediate needs of any application
• Investigate how others are already modeling similar or related data
Monday, May 16, 2011
Modeling without Context• Model the Real World
• Look for objects of interest
• Put aside the immediate needs of any application
• Investigate how others are already modeling similar or related data
• These techniques allow for re-use and merging
Monday, May 16, 2011
Modeling without Context
Monday, May 16, 2011
Modeling without Context• Look for duplication (normalise)
Monday, May 16, 2011
Modeling without Context• Look for duplication (normalise)
• Think about time and events, as well as things
Monday, May 16, 2011
Modeling without Context• Look for duplication (normalise)
• Think about time and events, as well as things
• Consider how the data will change over time
Monday, May 16, 2011
Modeling without Context• Look for duplication (normalise)
• Think about time and events, as well as things
• Consider how the data will change over time
• Separate real-world (non-information resources) and online (information resources)
Monday, May 16, 2011
Objects of Interest
Apollo 11 Command and Service Module
crewBuzz Aldrin
Monday, May 16, 2011
Objects of Interest
Apollo 11 Command and Service Module Buzz Aldrin
crewBuzz Aldrin
Monday, May 16, 2011
Objects of Interest
Apollo 11 Command and Service Module Buzz Aldrin
crewBuzz Aldrin
Person
a
20 January 1930
born
Monday, May 16, 2011
Objects of Interest
Apollo 11 Command and Service Module Buzz Aldrin
crew
Buzz Aldrin
name
Person
a
20 January 1930
born
Monday, May 16, 2011
Apollo 11 Command and Service Module
Spacecrafta
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
Cape Canaveral
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
URIs:Naming Things
on the WebMonday, May 16, 2011
Naming Things on the Web• Use http:// URIs
There are other URIs, but http URIs can be used to get more information quickly and easily
• Use clean, stable URIsAbstract away implementation detailsEnsure they are reliable
• There are two types of resource, both require URIsInformation Resources — Web pages, images, CSS files etc.Non-Information Resources — People, places, events, concepts etc.
Monday, May 16, 2011
Distinguishing Resourceshttp://example.com/1969-059A ← Thing
http://example.com/1969-059A.rdf ← RDF data
http://example.com/1969-059A.html ← HTML page
http://example.com/1969-059A ← Thing
http://example.com/1969-059A/rdf ← RDF data
http://example.com/1969-059A/html ← HTML page
http://example.com/resource/1969-059A ← Thing
http://example.com/data/1969-059A ← RDF data
http://example.com/page/1969-059A ← HTML page
Monday, May 16, 2011
http://.../topics/physicsURIs provide names for resourcesYou can say things about resources
"Physics"Literal values are displayable labelsYou can't say more things about "Physics"
Use URIs
Monday, May 16, 2011
http://yours.com/spacecraft/1959-059AI own the domain, so I can control the meaning of the URII can also commit to its permanence and provide data at this address
http://theirs.com/spacecraft/1959-059AI don't own this domain, so I can't put any data thereThe domain owner may choose to use this URI to mean something different to me
Use Your Own Domain
Monday, May 16, 2011
http://.../spacecraft/1959-059AThe URI contains meaningful, natural or system-neutral keys.I can route these URIs to any implementation, meaning they can live foreverBonus: I'm not advertising my technology choices
http://.../index.aspx?id=3Nobody wants to know that you're using ASP.Net, reallyHow will you keep URIs the same when you change or upgrade your technology?
Use Neutral URIs
Monday, May 16, 2011
http://.../spacecraft/1969-059Aeveryone know what to do with http:// URIshttp:// URIs provide a quick, easy and scalable lookup mechanism
info:space/1969-059Ahttp://info-uri.infoinfo URIs require specialised knowledgeinfo URIs provide no lookup mechanism
Use http:// URIs
Monday, May 16, 2011
http://.../spacecraft/1969-059AAnyone working with the original data can 'guess' your URIsYou can visually debug, and remember, your own URIs
http://.../809c6eNobody can guess this
Use Natural Keys
Monday, May 16, 2011
http://.../spacecraft/1969-059AContainers help keep natural keys separateContainers provide a natural place to put lists
http://.../1969-059AWhat URI do I put a list of all the spacecraft at now?
Use Containers (sparingly)
Monday, May 16, 2011
http://.../statistics/2010/agenciesDates provide a way to show data from a period in timeMost useful for things like statistics, samples or readings
http://.../statistics/agenciesWhere am I going to put next year's statistics?
Use Dates (sparingly)
Monday, May 16, 2011
Distinguishing Resourceshttp://example.com/1969-059A.html#self ← Thing
http://example.com/1969-059A.html ← HTML page
Monday, May 16, 2011
Fragment Identifiers #• Useful, with caution
• Fragment identifiers are not sent to the server
• Limits server-side decision making
• Limits granularity of the response
• Sometimes used with schema when terms link to human-readable documentation on the Web.
Monday, May 16, 2011
Turtle:Terse RDF Triple
Language Monday, May 16, 2011
Turtle• Terse Triple Language (TTL)
http://www.w3.org/2007/02/turtle/primer/
• A human-readable notation for RDF
• Provides useful syntax for quickly hand-writing RDF
• Forms the basis of patterns in SPARQL
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
<http://.../1969-059A> a <http://.../Spacecraft> .
Monday, May 16, 2011
Monday, May 16, 2011
http://.../1969-059A
<http://example.com/spacecraft/1969-059A>
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
space:mass 28801.0 .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
space:mass 28801.0 .
@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
Monday, May 16, 2011
Example Turtle@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/spacecraft/1969-059A> a space:Spacecraft ; space:name "Apollo 11 Command and Service Module" ; space:launched "1969-07-16"^^xsd:date ; space:mass 28801.0 .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
space:mass 28801.0 .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
space:mass 28801.0 .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
space:launchsite <http://.../cape+cana...> .
space:mass 28801.0 . space:mass 28801.0 ;
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
<http://example.com/spacecraft/1969-059A>
a space:Spacecraft ;
space:name "Apollo 11 Command and Service Module" ;
space:launched "1969-07-16"^^xsd:date ;
@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://.../cape+cana...> space:name "Cape Canaveral, United States"@en-us .
space:launchsite <http://.../cape+cana...> .
space:mass 28801.0 . space:mass 28801.0 ;
Monday, May 16, 2011
Example Turtle@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/spacecraft/1969-059A> a space:Spacecraft ; space:name "Apollo 11 Command and Service Module" ; space:launched "1969-07-16"^^xsd:date ; space:mass 28801.0 ; space:launchsite <http://.../cape+cana...> .
<http://.../cape+cana...> space:name "Cape Canaveral, United States"@en-us .
Monday, May 16, 2011
RDF/XMLMonday, May 16, 2011
Example Turtle@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/spacecraft/1969-059A> a space:Spacecraft ; space:name "Apollo 11 Command and Service Module" ; space:launched "1969-07-16"^^xsd:date ; space:mass 28801.0 ; space:launchsite <http://.../cape+cana...> .
<http://.../cape+cana...> space:name "Cape Canaveral, United States"@en-us .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
<?xml version="1.0" encoding="utf-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://.../1969-059A"> <rdf:type rdf:resource="http://.../Spacecraft"/> </rdf:Description>
</rdf:RDF>
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
Example RDF/XML<?xml version="1.0"?><rdf:RDF xmlns:space="http://example.com/space-schema/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.com/spacecraft/1969-059A"> <rdf:type rdf:resource="http://example.com/space-schema/Spacecraft"> <space:name> Apollo 11 Command and Service Module </space:name> <space:launched rdf:datatype="http://www.w3.org/2001/XMLSchema#date"> 1969-07-16 </space:launched> <space:mass rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 28801 </space:mass> <space:launchsite rdf:resource="http://.../cape+cana..." /> </rdf:Description> <rdf:Description rdf:about="http://.../cape+cana..."> <space:name xml:lang="en-us"> Cape Canaveral, United States </space:name> </rdf:Description>
</rdf:RDF>
Monday, May 16, 2011
Example RDF/XML
subject .
value .
property .
value .
property .
value .
property .
value .
property .
value .
property .
subject .
value .
property .
<?xml version="1.0"?><rdf:RDF xmlns:space="http://example.com/space-schema/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.com/spacecraft/1969-059A"> <rdf:type rdf:resource="http://example.com/space-schema/Spacecraft"> <space:name> Apollo 11 Command and Service Module </space:name> <space:launched rdf:datatype="http://www.w3.org/2001/XMLSchema#date"> 1969-07-16 </space:launched> <space:mass rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 28801 </space:mass> <space:launchsite rdf:resource="http://.../cape+cana..." /> </rdf:Description> <rdf:Description rdf:about="http://.../cape+cana..."> <space:name xml:lang="en-us"> Cape Canaveral, United States </space:name> </rdf:Description>
</rdf:RDF>
Monday, May 16, 2011
Example RDF/XML<?xml version="1.0"?><rdf:RDF xmlns:space="http://example.com/space-schema/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.com/spacecraft/1969-059A"> <rdf:type rdf:resource="http://example.com/space-schema/Spacecraft"> <space:name> Apollo 11 Command and Service Module </space:name> <space:launched rdf:datatype="http://www.w3.org/2001/XMLSchema#date"> 1969-07-16 </space:launched> <space:mass rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 28801 </space:mass> <space:launchsite rdf:resource="http://.../cape+cana..." /> </rdf:Description> <rdf:Description rdf:about="http://.../cape+cana..."> <space:name xml:lang="en-us"> Cape Canaveral, United States </space:name> </rdf:Description>
</rdf:RDF>
Monday, May 16, 2011
Example RDF/XML<?xml version="1.0"?><rdf:RDF xmlns:space="http://example.com/space-schema/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<space:Spacecraft rdf:about="http://example.com/spacecraft/1969-059A"> <rdf:type rdf:resource="http://example.com/space-schema/Spacecraft"> <space:name> Apollo 11 Command and Service Module </space:name> <space:launched rdf:datatype="http://www.w3.org/2001/XMLSchema#date"> 1969-07-16 </space:launched> <space:mass rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 28801 </space:mass> <space:launchsite rdf:resource="http://.../cape+cana..." /> </space:Spacecraft> <rdf:Description rdf:about="http://.../cape+cana..."> <space:name xml:lang="en-us"> Cape Canaveral, United States </space:name> </rdf:Description>
</rdf:RDF>
Monday, May 16, 2011
Example RDF/XML<?xml version="1.0"?><rdf:RDF xmlns:space="http://example.com/space-schema/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<space:Spacecraft rdf:about="http://example.com/spacecraft/1969-059A">
<space:name> Apollo 11 Command and Service Module </space:name> <space:launched rdf:datatype="http://www.w3.org/2001/XMLSchema#date"> 1969-07-16 </space:launched> <space:mass rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 28801 </space:mass> <space:launchsite> <rdf:Description rdf:about="http://.../cape+cana..."> <space:name xml:lang="en-us"> Cape Canaveral, United States </space:name> </rdf:Description> </space:launchsite> </space:Spacecraft>
</rdf:RDF>
Monday, May 16, 2011
Other RDF FormatsMonday, May 16, 2011
Writing RDF• Turtle
Easily human readable, to become a W3C Recommendation (standard)
• RDF/XMLMachine to Machine Transfer, W3C Recommendation (standard)
• N-TriplesOne statement per line, subset of Turtle, grep compatible
• RDF/JSONUseful for AJAX Applications and anything with else JSON support
• RDFaWriting RDF within HTML pages
Monday, May 16, 2011
Example Turtle@prefix space: <http://example.com/space-schema/> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/spacecraft/1969-059A> a space:Spacecraft ; space:name "Apollo 11 Command and Service Module" ; space:launched "1969-07-16"^^xsd:date ; space:mass 28801.0 ; space:launchsite <http://.../cape+cana...> .
<http://.../cape+cana...> space:name "Cape Canaveral, United States"@en-us .
Monday, May 16, 2011
Example N-Triples<http://example.com/spacecraft/1969-059A> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/space-schema/Spacecraft> .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/name> "Apollo 11 Command and Service Module" .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/launched> "1969-07-16"^^<http://www.w3.org/2001/XMLSchema#date> .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/mass> "28801"^^<http://www.w3.org/2001/XMLSchema#integer> .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/launchsite> <http://.../cape+cana...> .<http://.../cape+cana...> <http://example.com/space-schema/name> "Cape Canaveral, United States"@en-us .
Monday, May 16, 2011
Example N-Triples<http://example.com/spacecraft/1969-059A> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/space-schema/Spacecraft> .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/name> "Apollo 11 Command and Service Module" .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/launched> "1969-07-16"^^<http://www.w3.org/2001/XMLSchema#date> .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/mass> "28801"^^<http://www.w3.org/2001/XMLSchema#integer> .<http://example.com/spacecraft/1969-059A> <http://example.com/space-schema/launchsite> <http://.../cape+cana...> .<http://.../cape+cana...> <http://example.com/space-schema/name> "Cape Canaveral, United States"@en-us .
Monday, May 16, 2011
Example RDF/JSON{ "http://example.com/spacecraft/1969-059A" : { "http://example.com/space-schema/launched" : [ { "value" : "1969-07-16", "datatype" : "http://www.w3.org/2001/XMLSchema#date", "type" : "literal" } ], "http://example.com/space-schema/launchsite" : [ { "value" : "http://.../cape+cana...", "type" : "uri" } ], "http://example.com/space-schema/mass" : [ { "value" : "28801", "datatype" : "http://www.w3.org/2001/XMLSchema#integer", "type" : "literal" } ], "http://example.com/space-schema/name" : [ { "value" : "Apollo 11 Command and Service Module", "type" : "literal" } ], "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" : [ { "value" : "http://example.com/space-schema/Spacecraft", "type" : "uri" } ] }, "http://.../cape+cana..." : { "http://example.com/space-schema/name" : [ { "value" : "Cape Canaveral, United States", "lang" : "en-us", "type" : "literal" } ] }}
Monday, May 16, 2011
RDF SchemaMonday, May 16, 2011
Who has written a schema before?
Monday, May 16, 2011
Step 1.Forget what you think you know about schema
Monday, May 16, 2011
Differences• In a relational database:
• the schema is external to the data
• the schema comes first
• you must know the schema to query
• In RDF:
• the schema is in the data
• you may query at any time
Monday, May 16, 2011
The Open World• RDF Schema follow the Open World
assumption
• This model assumes that you may not have all of the information — that more things may be said elsewhere
• This means that missing isn't necessarily broken
• RDF Schema are not used for validation
Monday, May 16, 2011
If RDF Schema aren't for
validation, then what are they for?
Monday, May 16, 2011
RDF Validation• The Web of Data is about modeling for
re-use
• Reusability is provided by modeling outside of any one application's context
• Validation is specific to an application's context
Monday, May 16, 2011
RDF Schema• RDF Schema are descriptive
• They add additional information to the graph, through inference
• They add labels to properties and classes that make dynamic interfaces possible
• They provide human-readable descriptions to support schema re-use
• RDF Schema are written as RDF
Monday, May 16, 2011
Important• Properties are first class citizens
they're not hung off classes
• Classes are not OO classesthey do not have any behavior (methods)or properties...
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
Schema Re-use• RDF & RDFS
rdfs:label — labels for UI use
• Dublin CoreBibliographic Metadata — title, creator
• FOAFFriend of a Friend — people, organisations, creations, topics
• SIOCOnline communities — users, accounts, forums, blogs, microblogs
• GeoGeographical locations — latitude, longitude
• SKOSExisting taxonomies, thesauri and classification schemes
Monday, May 16, 2011
Schema Re-useProperty Schemaname (on Spacecraft)
launched
mass
launchsite
name (on Launchsite)
Monday, May 16, 2011
FOAF
Monday, May 16, 2011
Schema Re-useProperty Schemaname (on Spacecraft) foaf:name
launched space:launched
mass space:mass
launchsite space:launchsite
name (on Launchsite) foaf:name
Monday, May 16, 2011
RDF Schema@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix space: <http://example.com/space-schema/> .
space:launchsite a rdf:Property ; rdfs:label "Launch Site"@en ; rdfs:description "The site from which something was launched, examples would be the launch site of a spacecraft, rocket or ship"@en ; rdfs:isDefinedBy space: .
space:mass a rdf:Property ; rdfs:label "Mass"@en ; rdfs:description "The mass of an object, measured in Kg" ; rdfs:isDefinedBy space: .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
Apollo 11 Command and Service Modulename
16 July 1969launched
28801.0mass
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
RDF Schema@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix space: <http://example.com/space-schema/> .
space:launchsite a rdf:Property ; rdfs:label "Launch Site"@en ; rdfs:description "The site from which something was launched, examples would be the launch site of a spacecraft, rocket or ship"@en ; rdfs:isDefinedBy space: .
space:mass a rdf:Property ; rdfs:label "Mass"@en ; rdfs:description "The mass of an object, measured in Kg" ; rdfs:isDefinedBy space: .
space:Spacecraft a rdfs:Class ; rdfs:label "Spacecraft"@en ; rdfs:description "A Spacecraft is any man-made object intentionally launched into space" ; rdfs:isDefinedBy space: .
Monday, May 16, 2011
Typing with Ranges and Domains
• Properties can add class information to the subject and value either side of them
• A domain adds type information to the subject
• A range adds type information to the value
• Domains and ranges add type information from the schema to the instance data
Monday, May 16, 2011
A Launch Site is any place where something was
launched
Monday, May 16, 2011
RDF Schema@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix space: <http://example.com/space-schema/> .
space:launchsite a rdf:Property ; rdfs:label "Launch Site"@en ; rdfs:description "The site from which something was launched, examples would be the launch site of a spacecraft, rocket or ship"@en ; rdfs:range space:Launchsite ; rdfs:isDefinedBy space: .
space:mass a rdf:Property ; rdfs:label "Mass"@en ; rdfs:description "The mass of an object, measured in Kg" ; rdfs:isDefinedBy space: .
space:Spacecraft a rdfs:Class ; rdfs:label "Spacecraft"@en ; rdfs:description "A Spacecraft is any man-made object intentionally launched into space" ; rdfs:isDefinedBy space: .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
http://.../launchsite
Each property
is a resource
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
http://.../Launchsite
http://.../launchsite
Each property
is a resource
range
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
http://.../Launchsite
ahttp://.../launchsite
Each property
is a resource
range
http://.../cape+cana...
Monday, May 16, 2011
Property and Class Hierarchies
• Properties and classes can be more specialised versions of others
• This is done through rdfs:subPropertyOf and rdfs:subClassOf
Monday, May 16, 2011
LODE
Monday, May 16, 2011
RDF Schema@prefix lode: <http://linkedevents.org/ontology/> .@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix space: <http://example.com/space-schema/> .
space:launchsite a rdf:Property ; rdfs:label "Launch Site"@en ; rdfs:description "The site from which something was launched, examples would be the launch site of a spacecraft, rocket or ship"@en ; rdfs:range space:Launchsite ; rdfs:subPropertyOf lode:atPlace ; rdfs:isDefinedBy space: .
space:mass a rdf:Property ; rdfs:label "Mass"@en ; rdfs:description "The mass of an object, measured in Kg" ; rdfs:isDefinedBy space: .
space:Spacecraft a rdfs:Class ; rdfs:label "Spacecraft"@en ; rdfs:description "A Spacecraft is any man-made object intentionally launched into space" ; rdfs:isDefinedBy space: .
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
http://.../Launchsite
ahttp://.../launchsite
range
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
http://.../Launchsite
ahttp://.../launchsite
range
http://.../atPlace
subPropertyOf
Monday, May 16, 2011
http://.../1969-059A
http://.../Spacecraft
a
http://.../cape+cana...
Cape Canaveral, United States name
launchsite
http://.../Launchsite
ahttp://.../launchsite
range
http://.../atPlace
subPropertyOf
atPlace
Each property
is a resource
Monday, May 16, 2011
Naming Convention• Properties are generally in camel-case
name; launchDate; launchVehicle; crewMember
• RDF Class names are usually in title casePerson; Spacecraft; Discipline
• Properties use the simplest name they canlaunch; time; destination
• Inverse properties often use 'of'name & nameOf; crewMember & crewMemberOf
Monday, May 16, 2011
Thanks to
• Rob Styles, Talis Group Ltd for his CC-BY licensed “Two Day Introduction to the Web of Data” slides and spacecraft example data.
Monday, May 16, 2011
This work is Copyright © 2010 David Hyland-WoodBased partially on CC-BY licensed content Copyright © 2010 Talis Systems Limited by Rob Styles. It is licensed under the Creative Commons Attribution 3.0 Unported License.Full details at: http://creativecommons.org/licenses/by/3.0/
You are free:
to Share — to copy, distribute and transmit the work
to Remix — to adapt the work
Under the following conditions:
Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
• For any reuse or distribution, you must make clear to others the license terms of this work.• Any of the above conditions can be waived if you get permission from the copyright holder.• Nothing in this license impairs or restricts the author's moral rights.• Some Content in the work may be licensed under different terms, this is noted separately.
Monday, May 16, 2011