Web search engines like Google have made us all smarter by providing ready access to the world's knowledge whenever we need to look up a fact, learn about a topic or evaluate opinions. The W3C's Semantic Web effort aims to make such knowledge more accessible to computer programs by publishing it in machine understandable form.
<p>
As the volume of Semantic Web data grows software agents will need their own search engines to help them find the relevant and trustworthy knowledge they need to perform their tasks. We will discuss the general issues underlying the indexing and retrieval of RDF based information and describe Swoogle, a crawler based search engine whose index contains information on over a million RDF documents.
<p>
We will illustrate its use in several Semantic Web related research projects at UMBC including a distributed platform for constructing end-to-end use cases that demonstrate the semantic web’s utility for integrating scientific data. We describe ELVIS (the Ecosystem Location Visualization and Information System), a suite of tools for constructing food webs for a given location, and Triple Shop, a SPARQL query interface which searches the Semantic Web for data relevant to a given query ELVIS functionality is exposed as a collection of web services, and all input and output data is expressed in OWL, thereby enabling its integration with Triple Shop and other semantic web resources.
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Finding knowledge, data and answers on the Semantic Web
1. Finding knowledge, data and answers on the Semantic Web Tim Finin University of Maryland, Baltimore County http://ebiquity.umbc.edu/resource/html/id/202/ Joint work with Li Ding, Anupam Joshi, Yun Peng, Cynthia Parr, Pranam Kolari, Pavan Reddivari, Sandor Dornbush, Rong Pan, Akshay Java, Joel Sachs, Scott Cost and Vishal Doshi http://creativecommons.org/licenses/by-nc-sa/2.0/ This work was partially supported by DARPA contract F30602-97-1-0215, NSF grants CCR007080 and IIS9875433 and grants from IBM, Fujitsu and HP.
8. Swoogle Architecture Analysis Index Discovery IR Indexer Search Services Semantic Web metadata Web Service Web Server Candidate URLs Bounded Web Crawler Google Crawler SwoogleBot SWD Indexer Ranking document cache SWD classifier human machine html rdf/xml … the Web Semantic Web Information flow Swoogle‘s web interface Legends
9. A Hybrid Harvesting Framework Manual submission RDF crawling Bounded HTML crawling Meta crawling Seeds M Seeds H Seeds R Swoogle Sample Dataset Inductive learner the Web Google API call crawl crawl true would google
15. By default, ontologies are ordered by their ‘popularity’, but they can also be ordered by recency or size. 80 ontologies were found that had these three terms Let’s look at this one
18. rdfs:range was used 41 times to assert a value. owl:ObjectProperty was instantiated 28 times time:Cal… defined once and used 24 times (e.g., as range)
19. These are the namespaces this ontology uses. Clicking on one shows all of the documents using the namespace. All of this is available in RDF form for the agents among us.
20. Here’s what the agent sees. Note the swoogle and wob (web of belief) ontologies.
21. We can also search for terms (classes, properties) like terms for “person”.
22. 10K terms associated with “person”! Ordered by use. Let’s look at foaf:Person’s metadata
23.
24.
25.
26. 87K documents used foaf:gender with a foaf:Person instance as the subject
27. 3K documents used dc:creator with a foaf:Person instance as the object
41. Web-scale semantic web data access agent data access service the Web ask (“person”) Search vocabulary ask (“?x rdf:type foaf:Person”) inform (“foaf:Person”) Fetch docs Populate RDF database Query local RDF database inform (doc URLs) Search URIrefs in SW vocabulary Search URLs in SWD index Compose query Index RDF data
42. Who knows Anupam Joshi? Show me their names, email address and pictures
43. The UMBC ebiquity site publishes lots of RDF data, including FOAF profiles
44. PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT ?p2name ?p2mbox ?p2pix FROM ??? WHERE { ?p1 foaf:surname "Joshi" . ?p1 foaf:firstName “Anupam" . ?p1 foaf:mbox ?p1mbox . ?p2 foaf:knows ?p3 . ?p3 foaf:mbox ?p1mbox . ?p2 foaf:name ?p2name . ?p2 foaf:mbox ?p2mbox . OPTIONAL { ?p2 foaf:depiction ?p2pix } . } ORDER BY ?p2name No FROM clause!