-
Notifications
You must be signed in to change notification settings - Fork 2
Turtle Examples
roomthily edited this page Jun 30, 2015
·
11 revisions
Some examples, in turtle, of the representations using our ontology mappings. Note, these are intended to reuse existing ontologies.
The ontologies:
- OWL-S (prefix owls)
- ESIP DATA (prefix esip)
- the standard set of rdf/dublin core (rdf, rdfs, dc, dcat, xsd)
- FOAF (prefix foaf)
Any entity, object or data property that can't be associated with an existing object will be tagged with the bcube prefix.
TODOs:
- : add uuid identifiers
- : look up the SWEET Property definition for a reasonable parameter structure
- : change the ESIP temporal extent to just use the startTime and endTime data properties
- : add some verbs
- : ServiceCategory definition (I have no exemplars)
:10d3f3f3-c366-4493-9f41-8ed51ec2d953
a owls:ServiceProfile ;
owls:presents a_profile ;
# todo: add a process model
.
:9c8c8e88-b293-4c9b-ad7c-94d57c6587ef
a owls:Profile ;
# backref to the service
owls:presentedBy :10d3f3f3-c366-4493-9f41-8ed51ec2d953 ;
# equivalentTo dc:title
owls:serviceName "A WCS" ;
# equivalentTo dc:description
owls:textDescription "This is our first WCS service profile in turtle." ;
# referencing a foaf person or organization
owls:contactInformation :5e43e024-7400-485b-80e6-b33ffe3bf962 ;
# the keywords as a semicolon-delimited string
dc:subject "turtles ; biodiversity ; wetlands ; boulder ;" ;
esip:Keyword "turtles ; biodiversity ; wetlands ; boulder ;" ;
# the spatial reference information
dcat:spatial "POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))" ;
esip:BoundingBox :f173e6ba-d8f6-4ec9-b609-e30cd6dedbcd ;
dcat:temporal "2000-01-15T00:45:00Z/2010-01-15T00:06:00Z" ;
# note: there is some notion of time in esip but I don't understand the format.
bcube:version "1.1.2" ;
dc:language "eng" ;
# some parameters
owls:hasParameter :first_service_parameter,
:second_service_parameter ;
# the service category (the protocol?)
owls:ServiceCategory :2ef2dd59-9e51-4f4b-b820-46ffa5261492 ;
# and our harvested url
bcube:hasUrl :1fa7bbec-2fc1-44ad-a6ff-06c261cce57b ;
.
:5e43e024-7400-485b-80e6-b33ffe3bf962
a foaf:Person ;
foaf:name "A. Researcher" ;
rdfs:label "A GIS Person" ;
.
:2ef2dd59-9e51-4f4b-b820-46ffa5261492
a owls:ServiceCategory ;
# this is also not really the correct usage (it is an enumeration?)
owls:categoryName "Response Types" ;
owls:taxonomy "OGC" ;
.
:1fa7bbec-2fc1-44ad-a6ff-06c261cce57b
a bcube:Url ;
# the url
bcube:location "http://www.example.com/response?service=wcs&version=1.1.2&request=GetCapabilities"^^xsd:anyURL ;
# the type of url (harvested, extracted?)
bcube:type "harvested" ;
# the received http status code from the link checker
bcube:httpStatus "404"^^xsd:integer ;
# the aggregated status bucket (200, 300, 400, 500, 900 (app error))
bcube:aggregatedStatus "400"^^xsd:integer ;
# text from the link checker response
bcube:statusDescription "Not Found"^^xsd:string ;
# an indication of the kind of url - complete url extracted from the response
# or some generated url for opensearch, ogc, thredds, etc
# enum: [good | bad | we don't know]
bcube:truthiness "Good"^^xsd:string ;
# date of the status check
dc:modified "2015-06-25T07:30.246Z"^^xsd:date ;
.
:f173e6ba-d8f6-4ec9-b609-e30cd6dedbcd
a esip:BoundingBox ;
# these are not correct as far as mapping to the wkt, fyi. that isn't even a proper bbox!
esip:northBound "4.0"^^<http://www.w3.org/2001/XMLSchema#decimal> ;
esip:southBound "0.0"^^<http://www.w3.org/2001/XMLSchema#decimal> ;
esip:eastBound "2.0"^^<http://www.w3.org/2001/XMLSchema#decimal> ;
esip:westBound "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> ;
.
:first_service_parameter
a owls:ServiceParameter ;
owls:serviceParameterName "Request" ;
owls:Parameter :first_parameter ;
.
:second_service_parameter
a owls:ServiceParameter ;
owls:serviceParameterName "Version" ;
owls:Parameter :second_parameter ;
.
:first_parameter
a owls:Parameter ;
rdfs:label "Request" ;
.
:second_parameter
a owls:Parameter ;
rdfs:label "Version" ;
.
:2aeae03e-c740-40e1-b22b-d73046e89100
a dcat:dataset ;
dc:title "Distribution of Turtles in the city of Boulder" ;
dc:description" "A longer discussion of all the turtles in the city of Boulder and why we care." ;
dc:subject "turtles ; biodiversity ; wetlands ; boulder ;" ;
esip:Keyword "turtles ; biodiversity ; wetlands ; boulder ;" ;
dcat:hasDistribution :dataset_distribution ;
bcube:hasParameter :turtle_name, :turtle_location ;
bcube:isDocumentedBy :7eaf72fd-a63b-4cdf-b44c-15240d53bb85 ;
.
:dataset_distribution
a dcat:Distribution ;
# still don't know that we can reliably identify this
dc:title "Turtle Locations" ;
dcat:modified "2015-06-02"^^xsd:date ;
dcat:accessUrl "http://example.com/my_turtle_file.zip"^^xsd:anyURL ;
dcat:mediaType "application/x-zip" ;
.
:turtle_name
a bcube:Parameter ;
rdfs:label "Turtle Name" ;
esip:datafield :name_field ;
.
:name_field
a esip:DataField ;
# this seems incredibly unnecessary
esip:FieldType <http://www.w3.org/2001/XMLSchema#string> ;
.
:turtle_location
a bcube:Parameter ;
rdfs:label "Turtle Location" ;
esip:datafield :location_field ;
.
:location_field
a esip:DataField ;
# this seems incredibly unnecessary
esip:FieldType <http://www.w3.org/2001/XMLSchema#string> ;
.
:7eaf72fd-a63b-4cdf-b44c-15240d53bb85
a dcat:record ;
dc:title "Distribution of Turtles in the city of Boulder" ;
dc:description" "A longer discussion of all the turtles in the city of Boulder and why we care." ;
dc:subject "turtles ; biodiversity ; wetlands ; boulder ;" ;
esip:Keyword "turtles ; biodiversity ; wetlands ; boulder ;" ;
bcube:version "ISO 19115-2" ;
dcat:spatial "POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))" ;
dcat:temporal "2000-01-15T00:45:00Z/2010-01-15T00:06:00Z" ;
dc:contact :wcs_contact ;
bcube:hasUrl :metadata_link_1, :metadata_link_2 ;
bcube:documents :2aeae03e-c740-40e1-b22b-d73046e89100 ;
.
:metadata_link_1
a bcube:Url ;
# the url
bcube:location "http://www.example.com/metadata.xml"^^xsd:anyURL ;
# the type of url (harvested, extracted?)
bcube:type "extracted" ;
# the received http status code from the link checker
bcube:httpStatus "200"^^xsd:integer ;
# the aggregated status bucket (200, 300, 400, 500, 900 (app error))
bcube:aggregatedStatus "200"^^xsd:integer ;
# text from the link checker response
bcube:statusDescription "OK"^^xsd:string ;
# an indication of the kind of url - complete url extracted from the response
# or some generated url for opensearch, ogc, thredds, etc
# enum: [good | bad | we don't know]
bcube:truthiness "Good"^^xsd:string ;
# date of the status check
dc:modified "2015-06-25T07:30.246Z"^^xsd:date ;
.
:metadata_link_2
a bcube:Url ;
# the url
bcube:location "http://www.example.com/opendap/something/else/catalog.xml"^^xsd:anyURL ;
# the type of url (harvested, extracted?)
bcube:type "generated" ;
# the received http status code from the link checker
bcube:httpStatus "200"^^xsd:integer ;
# the aggregated status bucket (200, 300, 400, 500, 900 (app error))
bcube:aggregatedStatus "200"^^xsd:integer ;
# text from the link checker response
bcube:statusDescription "OK"^^xsd:string ;
# this is not necessarily true for this url.
bcube:truthiness "We Don't Know"^^xsd:string ;
# date of the status check
dc:modified "2015-06-25T07:30.246Z"^^xsd:date ;
.