Discussions on Computers
Start a New Discussion
-
-
We need a type for the zillions of different types of serial and parallel signaling interconnects. Some examples include: PCI, Hypertransport/LDT, PCI Express, AGP, USB, Unibus, Q-bus, XAUI, parallel port, RS-232, RS-422, Cardbus. Possible properties (entirely off the top of my head): # of data signals, # of control signals, # of total signals, signaling rate (range?), maximum distance (range?), point-to-point vs multidrop/bus, voltage, signaling technology, encoding, ...
Hmm, maybe I should collect of few of them and see what works.
-
-
-
The common usage of the /computer/computer type appears to be actually a model or family of computers (Apple Mac, Trash 80, etc), but there are also a bunch of usages for instances of computers (TX-0, Whirlwind, ASCI *, etc). These are two different kinds of things that should have separate types.
-
I've put some of the specific computers in the table at http://www.freebase.com/view/user/tfmorris/default_domain/views/early_computers but I haven't removed the old type from them.
-
-
-
I think there should be a reciprocal property 'Software with this license' for the incoming 'License' property of the 'Software' type.
-
Hi David.
Is there a specific use-case that you have in mind that cannot be satisfied by simply querying for software with a specific license as opposed to 'for license X give me all software'. I am not averse to adding the property, however I would like to understand what we would gain by this additional property that cannot be provided by the existing schema.
AM
-
Aseem,
I don't see that this would add any extra functionality in terms of MQL queries, but rather provide additional useful information when viewing topic pages of software licenses with the freebase client.
I see this as being similar to types such as "Computing Platform" which display a list of file formats that the platform supports (e.g. on the "Microsoft Windows" topic page). This reciprocal property is not strictly needed as the information can still be found by issuing an MQL query, but makes finding the information a little easier.
However, I'm still a little new here, so feel free to point out any reasons why you feel this property would not be useful that I may have missed.
David
-
Bumping this old thread up.
I'm tending to agree with David here that it would be nice for the client to display the pieces of software which use each license. It's just a matter of reciprocating the existing /computer/software/license property. As with any other reverse property, it doesn't really add any new functionality, but it makes things a bit easier in some cases.
Any other views?
-
-
-
Unless there are any objections, I intend to add the reciprocal property for /computer/web_browser/layout_engine here. Having a display of which browsers use which layout engine would I think be useful, and I can't see any way this would break people's applications.
I'll do this on Monday (10th August) unless there are any objections before then.
-
-
-
We don't currently have a type for software architectures, only for computer architectures (which are mostly hardware).
Should we create one? What types should it have?
The Fedora architecture is an example of a topic which would be typed as "software architecture". One of our new contributors, mediashelf, is working on stuff related to this.
-
The closest thing I've found was software framework, but that has different implications.
-
I myself am not too clear on what exactly a software architecture is. What are some other software architectures that aren't software frameworks?
-
I've been a software architect for most of my career and I'm not sure what useful properties you'd capture with a software architecture type. I supposed you could try and capture general architecture category like client-server, 3 tier, n-tier, SOA, whatever, but there's not really a ton of value in those categorizations. An architecture is really just a very high level design, for the most part. Alternatively, it's just a label that people apply when it suits them, without a lot of useful semantics.
The current Computer Architecture type is actually kind of a mish-mash (System/360) as well as categories/types of architectures (e.g. Harvard architecture).
-
BTW, this was my initial comment on the subject back in February 2009. Perhaps the difficulty in treating the subject in any useful fashion is part of the reason it remains undone.
The hardware architecture piece might be helped by a review of a standard text like Hennessy & Patterson to see how they classify things.
-
-
-
There is a type in the Computer commons called Internet Protocol which has no properties but duplicates the intent of the Protocol type in the Internet Commons, which *does* have at least one property (API), and has others under discussion (RFC).
Can we get rid of the one in Computers?
-
There was an earlier discussion of RFCs and Protocols on the data modeling list that I was supposed to follow up on with the with the following email:
=====
Thanks to both Robert and Tom for the very in-depth answers. The confusion over the /computer/internet_protocol type is well deserved. I just discovered another type, /internet/protocol, which has a description and is also connected to the /internet/api type, which uses it to describe methods of accessing a certain API.
Based on all the feedpack, the changes I'm proposing regarding protocols are:
1. Obsolete /computer/internet_protocol type
2. Clean up /internet/protocol to only include the IP suite of protocols; most bad instances should be /computer/file_formats
The revised changes and additions regarding specifications/standards are:
1. Create a Standard type
2. Create an RFC or IETF Standard type (and any others, like ISO Standard, IEEE Standard) that includes Standard
3. Create a Standardized Object(?) type to place on any topic standardized by a Standard
This way internet protocols will link to their RFCs via a property on the Standardized Object type. I will also add all the properties Robert and Jeff suggested to the IETF Standard type:
- Obsoleted(Superceded?) by and its reciprocal, Supercedes
- Updated by and its reciprocal, Updates
- Authors
- Working Group
- Standard number
> - Status (informational|experimental|...)
> - Date published (/type/datetime)
> - Specifies protocol (internet protocol)
The title will be captured in /type/object/name. None of the properties that link to other RFCs need to be unique, from what Robert has said. As for RFC ids as keys, we can figure this out later. I believe URI Templates only work with keys, so that will be an interesting issue later on.
(possibly replace any occurrence of "Standard" above with "Specification")
=====In short, I'm in favour of deleting the Internet Protocol type from Computers.
-
I agree that /computer/internet_protocol overlaps /internet/protocol, but I'm unclear on where non-IP protocols live in the proposed scheme. This includes things like all the IEEE 802.* LAN protocols, OSI protocols, ITU-T protocols (X.400, T.* protocols for fax, teletext, etc) -- basically everything in this table http://en.wikipedia.org/wiki/OSI_model#Examples which is in a column other than "IP suite."
The current /computer/internet_protocol type includes an even wider variety of stuff like graphics terminal protocols (VT100), dialup transfer protocols (XMODEM), etc.
-
-
-
What on earth is the "protocols provider" property on Software intended to be used for? The property has no description, nor does the type itself. I've just seen someone using it more like "protocols used" by adding items like SOAP, REST, etc. Um. Anyone?
-
Looking at some of the assertions of this property made by Niall, it seems like these are the providers of the protocols the software is dependent on (as the key suggests, the underlying service network). For example, GAIM/Pidgin relies on ICQ and IRC, etc.
-
But IRC isn't a "provider". It's a protocol used, I would say.
-
I agree the usage is quite confused. If Protocol Providers are Protocols, something's strange. The key (Service Network) is perhaps better as a property name than "Protocol Providers" is but I'm not really sure...the use is very diverse, from AOL to SSH to BitTorrent to Apple, Inc.
-
-
-
-
I would like to link software to subject topics. For example, I just added the H2G_SPA Alpha Version 1.5a topic, which is software used for HDF to GeoTIFF (Subjects?) file format conversion (genre) of image products derived from MODIS and other sensors (Subjects).
-
-
-
Perhaps an optional property for the RFC(s) a protocol is defined in could be added?
-
Hell yes. I'll prod the domain admins.
-
Yes, please. Seconded.
Perhaps a description for the type too? Does this encompass only things defined by the IETF or any protocol that runs over TCP or UDP or any protocol run between two computers?
-
Trippled!!
-
This has been Jira tasked: DA-724
-
Please see discussion I started on the data modeling list:
http://lists.freebase.com/pipermail/data-modeling/2009-April/001673.html
-
-
-
-
What would people's views be on promoting Computer Emulator and Computer Peripheral into commons? Neither of these are exactly complicated types, but I think they allow us to model an important fact easily. The emulator type should have documentation adding before it's promoted!
-
+1, I've filed a task for promotion. Please see and comment here.
-
Not that it matters too much, but I think that needs to be a link to bugs.freebase.com (rather than bugs.metaweb.com) to be visible to us plebs :-)
-
Ah, sorry about that! https://bugs.freebase.com/browse/DA-657
-
-
-
The whole area of computer architecture appears to be completely untreated by Freebase. Is it hiding someplace I'm missing?
This covers both hardware and software including a whole range of things from instruction set architecture families (SPARC, x86) to memory architectures (Harvard) to interconnect architectures to software architectures to perhaps even giant "markitecture" families like "client/server" or "3-tier."
Is anyone working on covering any of this stuff? I noticed because I was using Untyped to look at all the untyped topics with the word "architecture" and the majority of the topics are software architectures, I/O standards, graphics chipsets, etc.
-
-
-
I'd like to suggest we have the Speed (in Mhz) that the linked Processor is "clocked" at.
While having the CPU type avaliable on Computers and other devices is usefull, it would make it a lot more useful to know the speed it was running at.
Perhaps a compound value would be best, but this might effect a lot of topics already using the type, though most I've looked at don't have the Processor field set.
-
Hi Alex.
That's a very good point. However as you know processor families generally tend to have a range of possible clock speeds depending on the specific model of the processor. Considering that the range can be pretty large (even ignoring the overclocking possibilities) would this really be a useful property? Do you have a specific use case that this property would address? Or are you suggesting that there ought to be separate topics for specific processor models with each having its own clock speed specified (which could be quite useful for certain apps)?
AM
-
I imagined a compound value on the Computer Type, linking the CPU model and the speed it is clock at.. on that specific build.
As you pointed out, CPU models often have a huge range in Clock amoungs other things. But this doesn't even take into account that on some systems the CPU is either under or over clocked, like the Asus EEE 901 range, and the Nokia N800. The N800 has a 400Mhz (stock) CPU but is Clocked at 330Mhz.
With technology like Intel's SpeedStep I expect this type of situation to become a lot more common.
-
-
-
There is only one article for GPL currently. Either "version" should be in the schema, or gpl2 and so on should be added.
-
Hi sandos,
I've added "versions" as a property of Software License to accomodate this. Let me know if anything else is needed to model this properly, as I'm not an expert in license stuff.
Thanks,
Vishal
-
That looks good, but I think it should be reciprocated as “version of” or something like that.
-
Done and done.
-
-
-
A computer scientist authors papers. This should probably be included from a higher type called Scientist, as all scientists author papers. Something specific to computer scientists could be "computer science subfield", which doesn't exist yet, but probably should.
-
In the Freebase type system, Authors author papers (and also books and poems and whatnot). Having one type for all authors makes it much, much easier, since that way you don't need dozens or more types for authors of scientific papers, authors of humanities papers, etc., etc.
-
That makes sense, but I question putting authors under the book domain. I had put myself down as an author as I've authored a couple of papers, but then I was randomly browsing the canned searches for ivy league authors and found myself there along with Fitzgerald and Feynman, which feels wrong somehow.
If we eventually import large corpora of scientific papers, searches like Ivy League authors will deviate from what (I assume) people intend when they named a query like that. Of course, it could be further refined, but as I said, it feels weird to have a type of book/author when I've never written a book (and likely never will!)
Maybe the author type could be made more general to allow for clearly marked scientific papers, journal articles, newspaper articles, and the like? And the book domain (in the URL, I mean) be renamed to match its human-readable title (Publishing)?
I dunno, maybe it's silly to give the URL so much weight :P
-
Yes, what you call the "book" domain is really the Publishing domain -- the trouble is, changing keys (/book in this case) will break any query, view, or application relying on any data that uses the key (which, in this case, is the entire publishing domain). So we try not to change keys, ever. If you start poking around, you can find all sorts of things where the display name and key are very different.
The author type is about as general as it's possible to make it, I think. It's trivial to make a query than can constrain by type of work written, so maybe the canned query should be updated.
-
Ah, I see. That's a pity, but I guess having book in the URL isn't the end of the world.
I would think that domains like that would've just been other unique IDs in the database, whose URL representation was just another key, though? If I look at it in the explore view, it seems to have guid #9202a8c04000641f8000000003cbf74b and id /book, which would imply (with my limited knowledge of the system) that the URL could be changed without breaking any internal data relationships (but would break external links).
It seems like as you said, many domains change significantly from the time they were conceived, and that having a more flexible URL scheme that accurately matches the intent of the domain would ultimately be more effective. Maybe it would be possible to change the id from /book to /publishing and create another /book that redirects to publishing, somehow?
Anyway, just trying to understand the way things work here more :) It's not that big a deal.
-
It’s true that the system itself would survive any arbitrary change in IDs, or even their complete destruction.
However, at some point, external applications need to talk about things, and the IDs, constructed from those keys, is the way they do it. So the canned Ivy League author query looks for the type whose ID is “/book/author,” so if the ID for the domain became /publishing instead, that query would no longer find anything. Any other publishing application deployed in the wide world would similarly break. For that reason, we try to be very conservative about changing any keys in the commons domains.
-
-
-
I've created a type: http://www.freebase.com/type/view/user/mlevison/agile_software_development/functional_test_tools and wish to change the properties that visitors will see in the default case (i.e no image, etc). How can I achieve that?
The whole goal of this is to build a repository of "Functional test tools" that users can quickly scan to figure out which tool they need.
As it stands the default view is of no interest.
Confused in Ottawa
-
Replied to related post in the Computers domain.
-
You can't actually save a view, per se -- you can only save a filter. E.g., if you filtered the view of your type for Domain Specific Language = "yes", you could save that. However, there is currently a work-around (although I doubt this was intentional and I can't promise that it will be around forever) -- if you click the "filter results" button, a field labeled "save view as" will appear; you can enter a name and save the view without actually running a filter. The saved view will then appear on your homepage (I think), and will have a stable URL.
-
For what it's worth, I believe this is the intended functionality, and that you *should* be able to save a view even if you haven't filtered. They just hid the "save as" thing back there because of screen real estate concerns.
-
-
-
At the moment, I have Lisp on the brain, so I'm thinking of how to capture SBCL, CMUCL, and Clozure CL all as implementations of the programming language Lisp.
One way to go might be to add a whole new schema "programming language implementation" with field such as language, specification, and software (for the implementation itself).
Another might be to simply add the "programming language" type to each "software" topic that happens to also implement a language. We could use the "parent language" field to specify the language the software implements. Within the Lisp world, that's not an unreasonable way to go.
Thoughts? We're missing a useful category of information in our current schema for this space.
-
I like the "programming language implementation" as a co-type on a piece of application software. You do need to be careful to allow multiple values, though, for the sake of software like GCC (that compiles a number of different languages).
-
i had earlier made a recommendation that implementation be a simple property that links to something of type software but it has thus far been overlooked. there's definitely something useful in being able to say an implementation conforms to a certain specification, but i believe that's only if we can link specific versions of an implementation to its specification. if a spec is updated to a new version, and the implementation is likewise updated to meet it, then with the current data model we'd lose the fact that it ever implemented the old spec. this would mean that only the newest version of a specification would be linked to its implementation. the "Operating Systems" type currently has a property "Includes OS Versions" that i think an analogy can be made to for software and its versions. perhaps even specifications can have versions (thinking of RnRS here). then, we can say something like version 1 of software x implements version 1 of spec y, version 2 of software x implements version 2 of spec y, and so on. or maybe this is all too complex and there's a simpler solution...
-
I like the idea of tying specifications into this (that is certainly relevant in the Lisp world), although I don't think a "strong" link will work. That is, not all language implementations would have a meaningful associated specification (e.g., there is only 1 CPython, for example).
-
-
-
I really love the Freebase data model. As well as contributing to the public data, I would also love to use it to log and organise my private data i.e. contacts, account numbers. Is it possible to create a domain that is viewable only to myself? Or alternatively, can the Freebase software be downloaded for personal use?
-
Short answer: no. Freebase is a data commons. All data in it is publicly available. Some of it is harder to find than others (such as unpublished domains) but anything in Freebase can be found with the right query.
While the data in Freebase is licensed under a few different open data licenses, the software underlying the site is currently the proprietary property of Metaweb Technologies. Currently, we are focused exclusively on building the data commons; it is possible that private metawebs will be available at some point in the future, but for now, it’s all about the Freebase commons.
-
Thanks very much for your help on both counts.
-
-
-
I'm trying to document the wide array of Agile Functional test tools, in a searchable form.
My first attempt at this: http://functionaltestingtools.pbwiki.com/FrontPage is bit of mess.
Do I add the tools as individual topics and just tag them with types?
If someone could just point me to a concrete example: i.e. Blackberry is a topic. and its types are XXX.
If I've got this figured out correctly I need to add a topic per tool and them create a view. Which leads to the problem how do I create topics and views?
Looking on this page "Computer Domain" I can't see any add link for either topic or view.
-
You seem to have mistaken Freebase for a relational database. (-:
I note that your new type is full of text-valued properties that really should expect other types. Take a look at the Software type, for instance; the “Compatible Operating Systems” property expects a Software Compatibility type that links which links the OS and the versions in a compound value type (CVT).
You would probably benefit from checking out the Creating Types and Properties help pages, particularly the Data Modeling Guide. I think this will help answer questions about the views, as well.
-
Honestly this turns out to be way more complicated than I had hoped. At this stage I will just create a google spreadsheet.
-
Sorry I tried to say thanks for taking the time to help - but that didn't get added.
-
No problem, Mark. Freebase is quite powerful, but modeling new kinds of information is correspondingly difficult. We’ve tried to make the UI easy to use, and are still working on that, but there is an irreducible complexity, if you will, to the actual modeling process. Testing software seems like an interesting and useful domain to model, so please do let us know if we can help, if and when you do come back, maybe with a posse at your back. (-:
-
-
-
Hi, shouldn't the type Protocol Provider have a property for the protocol(s) the provider provides?
-
-
-
I've published seven types in my domain which are to be used for files. I described my aim in some detail here, but in short I want to be able to create topics for widely-distributed files.
To that end, I've created the File type, as well as Document File and Compressed File types which include it, and added a topic to each of the latter two to demonstrate their use (pandp12.txt and pandp12.zip, respectively). The several additional types I've created are used in those as well.
Other types will need to be created for e.g. video files or audio files, but it will take me a bit more research before I feel like I can adequately model those. I'd like a little preliminary feedback on the types I've created so far. In particular, did I include too many or too few properties, and did I model them correctly? Are my types Cryptographic Hash and Contained Work appropriate?
-
Hi Tracy.
Great work. I have a couple of questions/comments about the type schemas you have created.
From my point of view, not all files need a crypto hash. It definitely makes sense for files that will modify the system properties i.e. installers, os isos etc. and thus need to be verified as to their original content, however I am not quite sure I see the utility of having this information for, say plain text or pdf files. My guess would be that there are more 'pure content' (for lack of a better phrase) documents in the wild than installable softwares and programs for which the users need to be sure of the integrity of the content. Since you do plan on adding more specific filetypes, I would recommed adding the property for filetypes that generally have hashes released with them or for those filetypes that one can justify having associated hashes. If however you find that it is more convenient and useful to simply have the property in (in my experience it has been a bit hard to tell in the design phase) feel free to leave it in.
Also I was wondering as to the rationale behind having the contained work as another type? Wouldnt having a multi-valued property in the document itself (that pointed to the original work) work.If the rationale was to have an overarching type that allows you to embed any 'work' in an electronic 'container' it definitely makes sense. The name appears to be a bit ambiguous as the nature of containment and the container itself. Unfortunately I do not seem to have an alternate name for you, but that is something you might consider.
Once you are done with the schema development, please post back here and I will promote it to the main domain.
Thanks.
AM
-
Thanks for the reply. In order, then:
The cryptographic hash can be useful for a number of reasons. The first example that comes to mind is that it would allow for an application to be built which would hash a file and then query Freebase to see if it was catalogued, and in this way the user could get info about a file. So the hashes are more for the sake of identification than verifying integrity, though of course they serve that purpose as well. Too, many files that are released on the internet, including software,videos, and such, have an MD5 or CRC32 hash (or both, or more) listed with them, so it's the sort of information that is typically associated with files. Since hashes can be generated for all files, it seemed more appropriate to have it on the generic File type rather than more specific ones.
Regarding Contained Work, yes, the idea was definitely to allow anything to be contained in a file (indeed, there's no particular reason why the container must be a file). I demonstrated this by having pandp12.zip contain pandp12.txt which contains Pride and Prejudice. Actually, the text file probably should contain a particular edition of the book, now that I think of it. I'm not at all in love with the name, but it was the only thing I could think of at the time. I'll try to come up with something else.
I'd like to create a type for video files as well before I decalre File to be finished, to help me see if I've missed anything vital, but I feel like what I have is pretty stable.
Thanks again for the reply. If you've got any suggestions, or further questions, I'd be happy to hear them.
-
-
-
While making some additions to the API Type in the Internet Domain, I noticed that not all the API Topics I was adding were ones specific to the Internet. What about mirroring the API Type with the same and additional properties if necessary in the Computer Domain? The definition, in fact, for the API Type in the Internet Domain reads "An application programming interface (API) is a source code interface that a computer system or program library provides in order to support requests for services to be made of it by a computer program." No mention of the Internet at all.
-
Hi.
Certainly sounds like a good idea. I think that the properties for an API in a non-web services context might be bit different. I would encourage you to go ahead and model it in your domain and if it works I will be more than glad to promote it up.
Thanks.
AM
-
Thanks Aseem, I will work on modeling an API Type for Computers in my personal domain and let you know when it's done so you can review it.
-
-
-
I've published three types in my domain for describing open source software projects. They are:
- open source software - cotype of software, adds information about project homepage, bug tracker, and software repository
- software repository - where code is published for a software project and how to get it.
- revision control system - the software used to manage the source control for a project
-
Hi Chris.
OSS and repository appear to be very useful types. I would like to add that it may make more sense to add the software repository type to the software type itself. Other than that it looks great.
AM
-
Aseem,
The Software Repository type is a join model that connects a project to a type of revision control system and adds some additional properties like where to get the code. I'm not sure how to model that without an additional type. Also some software projects (like mine) expose more than one repository and synchronize them, however this is not the norm and only one of them serves as the canonical repository...
-chris
-
In that scenario, I would recommend creating a CVT called source-access which would have two properties: the URI and the protocol (you can additionally add the source control as a property too). That could then be linked back to the software and would provide the level of expression you want.
HTH
AM
-
-
-
A reverse link from Software/Developer should be created as Software Developer/Software Developed.
-
The potential issue that I see with that is one of appearance of sole attribution. If we mark a software product as having being developed by a developer, it implies that the specified developer was the primary worker even though the product may have been developed by a team. I think a type to model development teams would be better as it could also represent a team's organizational position in a larger group/organization. That could then be linked back to a software product. If a piece of software has only on developer, that could then simply be a team of one.
-
Sound like "Software Team" or "Software Project Member" might be a solution
-
I don't see any reason why "Software Developer" could not be used for both an individual and for a group.
In some cases, it's most appropriate to model a software as being developed by a company or other identifiable group ("Apache Project", for instance), but there are many smaller projects that are more straightforward to model as being worked on by one or more individuals (most of sourceforge, for instance).
Another way to handle this might be to distinguish between "Primary Developer" (the individual or organization acknowledged as developing the product) and "Contributors" (any number of individuals or organizations that have made substantial contributions to the project). Primary Developers do change over time, though, so there's a tricky time-dependent element there. -
Good point, just not obvious.
-
>> Another way to handle this might be to distinguish between "Primary Developer"
>> (the individual or organization acknowledged as developing the product) and "Contributors"
>> (any number of individuals or organizations that have made substantial contributions to the project).
>> Primary Developers do change over time, though, so there's a tricky time-dependent element there.
I think that for this kind of scenario the concept of software teams would be better, especially if the software team could have employer or something similar as an included type or a property thus allowing us to bring in the whole tenure/dated employment model into it and not having to deal with bounded set membership modelling stickiness.
-
-
-
In trying to enter some information about the FreeBSD Project and FreeBSD Operating System, I can't find any distinction between a "software product" and a particular release of that product. "Operating System," for example, is treated both as a product and a particular release, which is a bit peculiar. I see an untyped topic "Software Release" that could be changed into a type to fill this role. The folks working on Music topics might also have ideas, since they have similar issues around multiple releases of songs, etc.
-
Do the latest version and latest release date properties of the software type satisfy this requirement? I am no sure that I understand the advantages of having another type to represent just the software release information. For e.g. clearly java 1.4.2 is a quite different beast as compared to java 1.5 and they ought to resolve to two different topics. I definitely see the need to be able group these into 'families' so to speak. Maybe we could go that route?
-
Yes, JDK 1.4.2 and JDK 1.5 are very different and should be different topics. But my concern is that "Sun JDK 1.4.2" and "Sun JDK" are very different kinds of things. The latter is a software product that has many releases over time; the former is a particular release of that software product. I would like to type "Sun JDK" as a "Software Product" (with properties for who developed it, for instance), and "Sun JDK 1.4.2" as a "Software Release" (with properties such as "date of release", "version", "product", "standards implemented", etc.).
One tricky issue arises with products that are owned/developed by different groups over time, especially if those are different types of organizations (e.g., a closed-source product developed by a corporation that's open-sourced and continues to be developed by an informal group of independent developers).
-